`
jeff2008
  • 浏览: 25980 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DB2 索引优化准则收集

阅读更多

一、DB2 索引优化准则

1. 对于不需要修改数据的查询(SELECT 语句),大量索引有助于提高性能

2. 组合索引:组合索引即多列索引,指一个索引含有多个列。一个组合索引相当于多个单列索引,如索引(ColA, ColB, ColC)至少相当于(ColA)、(ColA, ColB)、(ColA, ColB, ColC)三个索引。

3. 覆盖的查询可以提高性能。覆盖的查询是指查询中所有指定的列都包含在同一个索引(组合索引)中。

4. 对小型表进行索引可能不会产生优化效果

5. 应使用 SQL 事件探查器和索引优化向导帮助分析查询,确定要创建的索引。为数据库及其工作负荷选择正确的索引是非常复杂的,需要在查询速度和更新成本之间取得平衡。

6. 可以在视图上指定索引。

7. 可以在计算列上指定索引。

8. 避免在索引列上使用IS NULL和IS NOT NULL。避免在索引中使用任何可以为空的列,数据库将无法使用该索引。对于单列索引,如果列包含空值,索引中将不存在此记录;对于复合索引,如果每个列 都为空,索引中同样不存在此记录. 如果至少有一个列不为空,则记录存在于索引中。

9. 如果经常检索包含大量数据的表中的少于15%的行则需要创建索引。

10. 衡量索引效率的 95/5 规则:如果查询的结果返回的行数少于表中所有行的5%,则索引是检索数据的最快方法,如果查询的结果超过5%,那么通常使用索引就不是最快的方式。

11.主关键字和唯一关键字所在的列自动具有索引,但外部关键字没有自动索引。

 

二、索引的特征     在确定某一索引适合某一查询之后,可以自定义最适合具体情况的索引类型。索引特征包括:

●聚集还是非聚集 ●唯一还是不唯一 ●单列还是多列 ●索引中的列顺序为升序还是降序(索引缺省为升序,但目前多数大型数据库已经能够支持反向索引) ●覆盖还是非覆盖 ●还可以自定义索引的初始存储特征,通过设置填充因子优化其维护,并使用文件和文件组自定义其位置以优化性能。 ●位映射索引(bitmap)

 

三、IBM DB2数据库索引优化策略

2、将比较大的表建在多节点的表空间上,同时建好索引

  说明:现有的db2数据仓库每个节点使用2个CPU ,4G内存 ,DIM 表空间计划是存放维表的表空间,因此是单节点的。在使用这个表空间的中的表的时候,最多只会用到2个CPU,4G内存,加上其他的表空间也都要用到这两个 CPU和这4G内存,因此资源比较有限。建议较大的表不要放在这个表空间中,而是建立好分区键,放在多节点的表空间中,这样检索这个表的时候32个节点同 时检索,最后汇总到0节点上进行展现,速度当然会非常的快。另外,虽然32节点并行性好,但是如果建立好索引的话,速度会更快!!

6、关于左关联的一点使用心得

  在on的条件里面尽量的只写关联条件和对左关联的表作限制,而对主表的限制不要写在这里。如果写在里面的话,不但速度非常慢,而且可能会出现莫 名其妙的结果。

分享到:
评论

相关推荐

    DB2索引及其优化(设计,优化,问题分析,解答,举例)

    DB2索引及其优化 DB2索引设计及其优化是数据库性能优化的关键部分。索引可以确保数据的唯一性,提高查询性能,并减少磁盘I/O。然而,索引的创建和维护也需要遵守一定的准则,以避免对数据库性能产生负面影响。 ...

    DB2索引分析器使用简述

    DB2提供了多种工具来帮助用户管理和优化索引,其中“db2advis”索引分析器是一个非常有用的工具,它能够为用户提供有关如何改进查询性能的建议。 #### 一、DB2索引分析器简介 “db2advis”是一个用于分析和优化...

    DB2 优化,db2性能优化,查询优化

    ### DB2 优化详解 #### 一、DB2性能优化概览 DB2是IBM公司推出的一款关系型数据库管理系统(RDBMS),广泛应用于各种规模的企业级应用中。随着业务量的增长,DB2数据库的性能问题逐渐成为关注焦点。本文旨在探讨DB2...

    IBM DB2数据库性能优化视频.rar

    │ │ 第8周 DB2索引优化.mp4 │ └ 第8周 DB2索引优化.pdf ├ 第09周 SQL语句调优 │ │ 第9周 SQL语句调优.mp4 │ └ 第9周 SQL语句调优.pdf ├ 第10周 DB2设计最佳实践 │ │ 第10周 DB2设计最佳实践.mp4 │ └ ...

    db2数据库性能优化小技巧

    - **SQL Event Monitor**:使用SQL Event Monitor收集SQL语句的执行统计信息,包括执行时间、读写次数等,以便进一步优化。 #### 2.2 常见SQL优化策略 - **索引优化**:合理创建索引,避免过多或过少的索引,确保...

    DB2性能优化 内部ppt

    DB2性能优化是一个复杂而关键的过程,涉及到多个层面的调整以确保数据库系统的高效运行。以下是一些关于DB2性能优化的重要知识点: 1. **系统配置调优**:这是优化的第一步,需要根据系统的硬件特性、负载情况以及...

    DB2如何评估索引碎片是否是缓慢的RUNSTATS根

    RUNSTATS是DB2中用于收集表和索引统计数据的命令。统计数据对于查询优化器来说至关重要,因为优化器会根据这些统计数据来决定执行查询的最有效路径。RUNSTATS命令的性能对数据库维护周期的效率有直接影响,因此,当...

    DB2数据库优化手册.doc

    DB2数据库优化手册中提供了详细的索引优化方法,包括索引的创建、索引的维护和索引的优化等。 查询优化 查询优化是数据库管理的重要步骤,可以提高数据库的查询性能。DB2数据库优化手册中提供了详细的查询优化方法...

    经常要用的DB2优化

    - **索引的局限性**:即使联接列的值最终是固定的,DB2优化器也可能不会使用索引来加速联接操作。 - **解决方案**:通过调整SQL语句的结构或者使用合适的索引来解决这个问题。 #### 八、LIKE语句的优化 - **LIKE与...

    DB2数据库性能调整和优化

    综上所述,DB2数据库性能调整和优化是一个涉及多方面知识的复杂过程,包括SQL优化、索引管理、内存配置、参数调优、物理设计、监控诊断以及备份恢复等。通过深入理解和实践这些技术,我们能够有效地提升DB2数据库...

    使用db2top和db2advis生成索引建议

    在本篇文章中,我们将详细介绍如何使用`db2top`来收集数据库活动快照,并进一步通过`db2advis`工具分析这些快照数据,为优化数据库性能提供宝贵的索引建议。 首先,为了确保`db2top`能够正确运行,我们需要进行必要...

    DB2之SQL优化浅析.pdf

    ### DB2之SQL优化浅析 #### 一、为什么要做SQL优化 在DB2数据库管理中,SQL优化是一项至关重要的工作。SQL语句是应用程序与数据库之间交互的主要方式,其性能直接影响到整体应用的响应速度及数据库服务器的负载。...

    DB2使用经验总结+DB2数据库性能优化的几个小技巧

    在实际使用过程中,理解并掌握DB2的特性和优化策略是提升数据库性能的关键。以下是对标题和描述中涉及的知识点的详细说明: 一、DB2使用经验总结 1. 安装与配置:DB2的安装过程包括选择合适的版本、配置数据库实例...

    DB2 重命名不同的索引时出现的锁等待问题-contracted.doc

    在DB2数据库中,重命名不同的索引可能会引发一种名为EOT(End of Table)锁等待问题,这在日常操作中并不常见,因此可能导致DBA在遇到时感到困惑。EOT锁是一种特定类型的行级锁定,它在某些情况下用于表的元数据管理...

    db2 SQL优化

    ### DB2 SQL优化之散列连接技术详解 #### 一、引言 在数据库管理系统(DBMS)中,SQL查询优化是提升数据检索速度的关键技术之一。对于大型企业级数据库如IBM DB2 Universal Database (DB2 UDB),优化SQL查询不仅能够...

    DB2数据库调优索引

    DB2数据库的索引调优,保证大家看了不觉得后悔

    db2 性能优化--最新整理

    ### DB2性能优化详解 #### 一、引言 在数据库管理系统(DBMS)领域,IBM的DB2作为一款成熟且广泛使用的解决方案,在诸多业务场景中扮演着关键角色。随着数据量的增长和技术的发展,如何有效提升DB2的性能成为了许多...

    DB2 性能优化快速入门

    ### DB2性能优化快速入门详解 #### 一、引言 DB2 Universal Database(简称DB2 UDB)作为IBM的一款高性能关系型数据库管理系统,在企业级应用中占据着重要的地位。然而,随着数据量的增长和用户数量的增加,DB2...

Global site tag (gtag.js) - Google Analytics