SQL优化思路及结果集重用优化和分区索引优化测试

1.自己构造两条不同的SQL来完成相同的查询,注意结果集重用对SQL性能的影响

四个主人公:alan  leonarding  sun   xy

故事:这4个小伙伴刚刚毕业,毕业后都顺利的找到了工作,现在已经工作半年了,一次他们聚在了一起,由于虚荣心的驱动他们想比一比谁的工资攒的多,大家都是学IT出身,于是他们做了一个leo_salary表来计算他们这半年来的平均工资!

创建了leo_salary表,雇员id  名/字  薪水  月份

LS@LEO> create table leo_salary (employee_id number,name varchar(20),salary number,month date);

Table created.

LS@LEO> insert into leo_salary values (1,'alan',1000,to_date('2012_01_01','yyyy-mm-dd'));    alan同学工资

insert into leo_salary values (1,'alan',1100,to_date('2012_02_01','yyyy-mm-dd'));

insert into leo_salary values (1,'alan',1200,to_date('2012_03_01','yyyy-mm-dd'));

insert into leo_salary values (1,'alan',1300,to_date('2012_04_01','yyyy-mm-dd'));

insert into leo_salary values (1,'alan',1400,to_date('2012_05_01','yyyy-mm-dd'));

insert into leo_salary values (1,'alan',1500,to_date('2012_06_01','yyyy-mm-dd'));

insert into leo_salary values (2,'leonarding',200,to_date('2012_01_01','yyyy-mm-dd'));      leonarding同学工资

insert into leo_salary values (2,'leonarding',210,to_date('2012_02_01','yyyy-mm-dd'));

insert into leo_salary values (2,'leonarding',220,to_date('2012_03_01','yyyy-mm-dd'));

insert into leo_salary values (2,'leonarding',230,to_date('2012_04_01','yyyy-mm-dd'));

insert into leo_salary values (2,'leonarding',240,to_date('2012_05_01','yyyy-mm-dd'));

insert into leo_salary values (2,'leonarding',250,to_date('2012_06_01','yyyy-mm-dd'));

insert into leo_salary values (3,'sun',400,to_date('2012_01_01','yyyy-mm-dd'));            sun同学工资

insert into leo_salary values (3,'sun',410,to_date('2012_02_01','yyyy-mm-dd'));

insert into leo_salary values (3,'sun',420,to_date('2012_03_01','yyyy-mm-dd'));

insert into leo_salary values (3,'sun',430,to_date('2012_04_01','yyyy-mm-dd'));

insert into leo_salary values (3,'sun',440,to_date('2012_05_01','yyyy-mm-dd'));

insert into leo_salary values (3,'sun',450,to_date('2012_06_01','yyyy-mm-dd'));

insert into leo_salary values (4,'xy',600,to_date('2012_01_01','yyyy-mm-dd'));             xy同学工资

insert into leo_salary values (4,'xy',610,to_date('2012_02_01','yyyy-mm-dd'));

insert into leo_salary values (4,'xy',620,to_date('2012_03_01','yyyy-mm-dd'));

insert into leo_salary values (4,'xy',630,to_date('2012_04_01','yyyy-mm-dd'));

insert into leo_salary values (4,'xy',640,to_date('2012_05_01','yyyy-mm-dd'));

insert into leo_salary values (4,'xy',650,to_date('2012_06_01','yyyy-mm-dd'));

commit;

LS@LEO> select count(*) from leo_salary;

COUNT(*)

----------

24

LS@LEO> select * from leo_salary;

EMPLOYEE_ID NAME                     SALARY MONTH

----------- -------------------- ---------- -------------------

1 alan                       1000 2012-01-01 00:00:00

1 alan                       1100 2012-02-01 00:00:00

时间: 2025-01-30 17:32:37

SQL优化思路及结果集重用优化和分区索引优化测试的相关文章

MySQL教程:用索引优化ORDER BY

关于建立索引的几个准则: 1.合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度. 2.索引越多,更新数据的速度越慢. 3.尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB.但MyISAM不支持Transcation. 4.当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了. 5.习惯和强迫自己用EXPLAIN来

通过索引优化含ORDER BY的MySQL语句

通过索引优化含ORDER BY的MySQL语句 关于建立索引的几个准则: 1.合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度. 2.索引越多,更新数据的速度越慢. 3.尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB.但MyISAM不支持Transcation. 4.当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统

MySQL 通过索引优化含ORDER BY的语句_Mysql

关于建立索引的几个准则: 1.合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度. 2.索引越多,更新数据的速度越慢. 3.尽量在采用MyIsam作为引擎的时候使用索引(因为MySQL以BTree存储索引),而不是InnoDB.但MyISAM不支持Transcation. 4.当你的程序和数据库结构/SQL语句已经优化到无法优化的程度,而程序瓶颈并不能顺利解决,那就是应该考虑使用诸如memcached这样的分布式缓存系统的时候了. 5.习惯和强迫自己用EXPLAIN来

Oracle高并发系列1:DML引起的常见问题及优化思路

作者介绍 王鹏冲,平安科技数据库技术专家,浸淫数据库行业十多年,对Oracle数据库有浓厚兴趣,也对MySQL.MongoDB.Redis等数据库有一定架构和运维经验,目前正沉迷在PostgreSQL数据库与Oracle数据库的PK之中,重点在关系型数据库的分布式架构研究. 引言    Oracle数据库是设计为一个高度共享的数据库,这里所说的"共享",可以从数据库共享内存.后台进程.cursor.执行计划.latch等方面去理解.Oracle如此设计的目的是以最小的系统开销.最大化地

HiC2011:四大企业NameNode优化思路

文章讲的是HiC2011:四大企业NameNode优化思路,2011年12月2日.3日,Hadoop in China 2011大会,在北京会议中心隆重召开,本次大会以"海量数据掘宝"为主题,吸引了千余名来自国内外的hadoop专家和企业用户,这也意味着Hadoop的蓬勃发展趋势已经不可阻挡. ▲点击查看IT168视频直播专题 下午分会场一<Hadoop生态系统>的圆桌讨论的以如何优化NameNode的性能为主题,来自ebay.淘宝.百度.中科院计算所的专家分别介绍了不同的

闪存存储特性以及数据库相关优化思路

闪存存储当前越来越多的应用于企业级环境,特别是提升数据库性能方面.本次分享主要介绍闪存的特性,闪存的劣势及其解决机制,以及采用闪存存储时数据库的一些优化思路. 目录 闪存的特性 闪存的劣势及其解决机制 数据库场景测试 一.闪存的特性 凡是采用Flash Memory的存储设备,可以统称为闪存存储.我们经常谈的固态硬盘(SSD),可以由volatile/non-volatile memory构成,其实固态硬盘的范畴是大于闪存的,只是当前的固态硬盘大多数采用闪存介质,所以很多时候我们默认固态硬盘就是

谈谈:特殊类网站的核心优化思路

特殊类网站指的是哪些呢? 特殊类网站是指商城.论坛.电影.小说.门户等普遍性不是非常高的网站.像博彩.代孕.传播不良信息的网站 下面南平seo与大家分享特殊类网站的优化思路的核心要点. 商城类网站优化思路: 商城类网站主要由商品页面构成,那么我们优化核心就很简单了.用户需要的是产品页面的内容,所以我们的优化核心就是产品页面.那么我们该如何优化呢? 第一,我们首先需要增加产品的信息丰富度,文字信息.图片信息相结合,满足用户对于这个产品的需求. 第二,为我们的产品加上附加价值, 那怎么样才算给我们的

浅析:新站上线我的优化思路

众所周知,新站上线其优化手法和思路往往和老站有着巨大的差别,主要在于新站本身根本没权重,上线之后第一道关就是要经过百度的考核,在百度考察的过程中,我们网站没排名,甚至很长时间收录都不会变化,这个时候也是最容易浮躁和出问题的时候,笔者自己的西安橱柜网上线一周左右,正常工作日每天更新,目前的状况是收录2篇,现在笔者分享下后一阶段我对于这个站的优化思路,大家先看看图示.   第一,网站关键词的布局分析.新站上线之后关键词的布局和分析是基础,企业网站导航一般是公司简介.产品展示之类的,布置关键词一般三大

好的优化思路需要有好的虚拟主机支持

网站优化思路很重要,但是只有好的优化思路没有好的虚拟主机支持同样也是不行的,在研究与探索了多年网站优化与虚拟主机之间的关系,总结了以下几点经验,希望对大家有所帮助. 共享IP虚拟主机与网站优化 共享IP虚拟主机就是大家共同使用同一个IP地址,很多站长们的网站存放在一起,不过这类主机价格方面很实惠,但是有一点不利因素,如果同一个主机受到搜索引擎惩罚,那么同个IP下的网站也会遭受惩罚,这点无疑是对优化站的直接隐含弊端. 独立IP虚拟主机与网站优化 独立IP虚拟主机,就是主机IP地址均是独立的,独立I