一周以来的工作学习总结

原创 2012年02月11日 21:43:22

     上周我写了一篇博文,里面有一点关于分区表的论述(http://blog.csdn.net/uncle_six/article/details/7233958)。但是我发现我少写了一点,在你的查询条件和分区列没有太大关系的时候,分区表不会帮助你提高效率。

     

图1

图2

     我是按照area_id分区的,图1的执行计划:

     图2的执行计划:

       建立一张表,这张表的数据和test一样,但是没有分区,执行一下图1中的语句,查看其执行计划:

       

       可以明显的看出来,分区表的执行计划多了一个PARTITION LIST ALL,明显增加了CPU的耗用。再看看图2中SQL在test111中执行的执行计划吧:

       

       确实很明显,这里少了PARTITION LIST SINGLE,但是CPU的耗用却没有变,当然了,我这个表非常非常小,如果数据量超过千万级,那么就能看出好处了。

       从上述对比中可以很明显的看出来,分区表的使用是要看实际应用的需求的。如果存储过程始终是按照某一条件对数据进行查询,就像是图2中那样,每次查询的时候总是要带上area_id,那么建表的时候就可以考虑按照area_id进行分区。但是如果你平时的查询没有什么规律可循,那么你分区了,也许好心办坏事。

      为了这篇博文,小弟在此豁出去了,不停地插表,现在搞出了一张3145728的test表和test111表,两个表数据一样,test有分区,test111没有。再看看执行计划,首先是SQL:

SELECT * FROM TEST a WHERE a.item_id = 1
AND a.area_id = 290;

       

SELECT * FROM TEST111 a WHERE a.item_id = 1
AND a.area_id = 290;

      然后是执行计划:

      1 

      2 

      看看,用了分区表之后虽说CPU的COST增加了,但是ROWS和BYTES都有了十分可观的降低。再将表扩大一倍,分区表和非分区表的ROWS比达到了2159K:10M,而BYTES比也达到了 121M:594M,CPU COST比:14487:8847。上帝啊,分区表在降低读取量方面堪称出色,但是在增加CPU COST方面堪称令人发指。

      以前看过盖国强的书,里面说优化SQL主要是降低其物理读。但是我想如果能降低这里的ROWS和BYTES,对于一个小机环境的数据库处理器来说,高一点的CPU COST也是可以理解的吧。

      有什么不妥之处,请大家留言指正。

相关文章推荐

一周学习工作总结:

1.android textView优化 加载方式理解textView是安卓中诸多视图的父类,方法多样,实现灵活,基于textView可以实现很多功能,提升textView效率便十分重要。 优化方案...

一周以来的工作总结--oracle分区的迁移

这周很平静,没有客户的纷纷扰扰。      前一阵子写了一些有关数据表的压缩的东西,我现在感觉把数据压缩了迁移走,或者直接迁移走也是一种不错的办法。      现在有这样一张表:  ...

一周以来工作总结--关于表的压缩

昨天写了一下关于Oracle表压缩的问题(http://www.cnblogs.com/wingsless/archive/2012/09/23/2699309.html),由于时间原因没有具体的实验...

2016年12月10日一周工作总结

一、根据手机号查询归属地接口 url:https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?cb=Test &resource_name=gui...

11.26 每天总结工作,一天胜似一周

回忆:早餐+早会=一个小时。 早会说了一个热迁移不支持cpu异构主机的问题,他们还给改成支持了,真厉害。lin说了一个定位好几天的问题,虚拟机外向内访问网络不通,结果是啥路由冲突(?),同一主机配置...

一周工作小总结

新手接触实际项目关于svn、tomcat、myeclipse的一些总结

android一周学习总结.doc

  • 2011年05月16日 22:18
  • 426KB
  • 下载

关于对学习kettle( 水壶)一周的总结

Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移; Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移; Kettle自己有三个主要组件:Spoon,Kitchen,...

学习jdbc(一周总结)

声明:该总结为个人总结,所以记录得比较乱,看者勿喷 2017.8.3 1.dbutils(结合dbcp连接池版(单例  BasicDataSource bds;))        内容--------...
  • MrwanZH
  • MrwanZH
  • 2017年08月06日 22:32
  • 97

谈谈我对学习看法&一周学习总结

经过了这将近一个礼拜的学习,我想谈点关于学习上的想法。仅是个人不成熟的观点,说的不好希望大家谅解。 一、学习氛围        实话说,学习氛围并不优秀。这是我的错。大家调动学习劲头,了解大家...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一周以来的工作学习总结
举报原因:
原因补充:

(最多只允许输入30个字)