`
core_qq
  • 浏览: 16012 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于分区表的初探

阅读更多

     上周我写了一篇博文,里面有一点关于分区表的论述(http://www.cnblogs.com/wingsless/archive/2012/02/04/2338292.html)。但是我发现我少写了一点,在你的查询条件和分区列没有太大关系的时候,分区表不会帮助你提高效率。

 

图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也是可以理解的吧。

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

0
0
分享到:
评论

相关推荐

    MYSQL5.1表分区初探[参考].pdf

    假设表名为employees,store_id字段的值从1到20,可以创建如下的RANGE分区表: ```sql CREATE TABLE employees_range ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT ...

    Oracle数据库高性能优化设计方法初探.pdf

    数据表的物理分区是一种有效的管理策略,尤其是对于包含大量数据的表。通过按特定字段分区,可以针对部分数据进行快速查询,避免全表扫描,从而显著缩短查询时间。此外,将不同分区的数据分散在多个磁盘上,可以...

    Oracle数据库SQL语句优化初探.pdf

    7. 分析并调整表分区:对于大型表,分区可以显著提高查询速度和管理效率。 8. 调整初始化参数:根据系统资源和工作负载调整Oracle的初始化参数,如缓存大小、排序区大小等。 9. 使用EXPLAIN PLAN分析查询:通过...

    SQL SERVER 2000初探.pdf

    首先是安装路径的选择,应该把应用程序安装路径和数据库数据文件安装路径分开,推荐将应用程序安装在默认的C盘,而将数据文件放在非系统盘的其他分区,这有助于提高数据安全性。其次,在选择许可模式时,需要根据所...

    农作物信息数据仓库维度建模初探

    元数据可以描述系统表格、分区设置、索引、视图定义和权限管理等项目内容,为数据仓库的建设和管理提供支持。 维度表作为进入事实表的入口,其质量和深度直接关系到数据仓库的整体性能。维度表包含了业务的文字描述...

    大型、高负载网站架构和应用初探

    此外,考虑数据库的架构设计,如合理的数据分区和索引,也是提升性能的重要手段。 为提高网站的可用性和可扩展性,通常会采用集群技术。最简单的集群策略是通过DNS轮询,将多个A记录分配给同一个域名。商业解决方案...

    收获不知Oracle

    4.2.4.2 分区表最实用的特性 165 4.2.4.3 分区索引类型简述176 4.2.4.4 分区表之相关陷阱177 4.2.5 有趣的索引组织表 184 4.2.6 簇表的介绍及应用 187 4.3 理解表设计的你成为项目组英雄 189 第5章惊叹,索引天地...

    膜结构建筑防火安全技术初探

    膜结构建筑作为一种现代建筑技术,以其独特的美学设计和广阔的...这份“膜结构建筑防火安全技术初探”文档,将深入剖析这些技术和实践案例,对于从事膜结构建筑设计和施工的专业人士来说,是一份极具价值的参考资料。

    振南的znFAT--单片机上的FAT32文件系统

    以下是关于znFAT和FAT32文件系统的详细知识点: 1. **FAT32文件系统概述**:FAT32是一种广泛使用的文件分配表(File Allocation Table)文件系统,由微软开发,主要用于存储和组织硬盘、闪存驱动器等存储设备上的...

    ArcSDE-for-Oracle

    《ArcSDE for Oracle配置与调整初探》 ArcSDE是Esri公司推出的一款用于在关系数据库管理系统(RDBMS)中存储、管理和分发地理空间数据的中间件。Oracle作为全球广泛使用的数据库系统,与ArcSDE的结合使得大规模的...

    信息学奥赛-省选及NOI课程表(2020.08.31).pdf

    5. **k-DTree**:一种多维空间分区的数据结构,常用于快速查询和近邻搜索。 #### 六、动态规划 1. **概率DP**:将概率引入动态规划模型中,用于处理具有不确定性的决策过程。 2. **期望DP**:基于期望理论的动态...

    网吧维护技术资料 合集

    44 网吧维护\资料\XP下FAT分区转NTFS分区.TXT 484 网吧维护\资料\XP中不能正常IE浏览不正常一例.TXT 10790 网吧维护\资料\XP优化.TXT 3638 网吧维护\资料\xp实用技巧\Win XP 键盘快捷键概述.txt 5851 网吧维护\资料\...

Global site tag (gtag.js) - Google Analytics