一、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索引设计及其优化是数据库性能优化的关键部分。索引可以确保数据的唯一性,提高查询性能,并减少磁盘I/O。然而,索引的创建和维护也需要遵守一定的准则,以避免对数据库性能产生负面影响。 ...
DB2提供了多种工具来帮助用户管理和优化索引,其中“db2advis”索引分析器是一个非常有用的工具,它能够为用户提供有关如何改进查询性能的建议。 #### 一、DB2索引分析器简介 “db2advis”是一个用于分析和优化...
DB2性能优化 DB2性能优化 DB2性能优化 DB2性能优化
### DB2 优化详解 #### 一、DB2性能优化概览 DB2是IBM公司推出的一款关系型数据库管理系统(RDBMS),广泛应用于各种规模的企业级应用中。随着业务量的增长,DB2数据库的性能问题逐渐成为关注焦点。本文旨在探讨DB2...
│ │ 第8周 DB2索引优化.mp4 │ └ 第8周 DB2索引优化.pdf ├ 第09周 SQL语句调优 │ │ 第9周 SQL语句调优.mp4 │ └ 第9周 SQL语句调优.pdf ├ 第10周 DB2设计最佳实践 │ │ 第10周 DB2设计最佳实践.mp4 │ └ ...
- **SQL Event Monitor**:使用SQL Event Monitor收集SQL语句的执行统计信息,包括执行时间、读写次数等,以便进一步优化。 #### 2.2 常见SQL优化策略 - **索引优化**:合理创建索引,避免过多或过少的索引,确保...
DB2性能优化是一个复杂而关键的过程,涉及到多个层面的调整以确保数据库系统的高效运行。以下是一些关于DB2性能优化的重要知识点: 1. **系统配置调优**:这是优化的第一步,需要根据系统的硬件特性、负载情况以及...
RUNSTATS是DB2中用于收集表和索引统计数据的命令。统计数据对于查询优化器来说至关重要,因为优化器会根据这些统计数据来决定执行查询的最有效路径。RUNSTATS命令的性能对数据库维护周期的效率有直接影响,因此,当...
DB2数据库优化手册中提供了详细的索引优化方法,包括索引的创建、索引的维护和索引的优化等。 查询优化 查询优化是数据库管理的重要步骤,可以提高数据库的查询性能。DB2数据库优化手册中提供了详细的查询优化方法...
### DB2优化器详解:DB2数据库性能调整与优化的核心 #### 一、DB2优化器:数据库性能的指挥官 DB2优化器是IBM DB2数据库管理系统中的关键组件,负责决定如何高效地执行SQL查询和其他数据库操作。其核心职责是在...
- **索引的局限性**:即使联接列的值最终是固定的,DB2优化器也可能不会使用索引来加速联接操作。 - **解决方案**:通过调整SQL语句的结构或者使用合适的索引来解决这个问题。 #### 八、LIKE语句的优化 - **LIKE与...
在本篇文章中,我们将详细介绍如何使用`db2top`来收集数据库活动快照,并进一步通过`db2advis`工具分析这些快照数据,为优化数据库性能提供宝贵的索引建议。 首先,为了确保`db2top`能够正确运行,我们需要进行必要...
### DB2之SQL优化浅析 #### 一、为什么要做SQL优化 在DB2数据库管理中,SQL优化是一项至关重要的工作。SQL语句是应用程序与数据库之间交互的主要方式,其性能直接影响到整体应用的响应速度及数据库服务器的负载。...
在实际使用过程中,理解并掌握DB2的特性和优化策略是提升数据库性能的关键。以下是对标题和描述中涉及的知识点的详细说明: 一、DB2使用经验总结 1. 安装与配置:DB2的安装过程包括选择合适的版本、配置数据库实例...
在DB2数据库中,重命名不同的索引可能会引发一种名为EOT(End of Table)锁等待问题,这在日常操作中并不常见,因此可能导致DBA在遇到时感到困惑。EOT锁是一种特定类型的行级锁定,它在某些情况下用于表的元数据管理...
### DB2 SQL优化之散列连接技术详解 #### 一、引言 在数据库管理系统(DBMS)中,SQL查询优化是提升数据检索速度的关键技术之一。对于大型企业级数据库如IBM DB2 Universal Database (DB2 UDB),优化SQL查询不仅能够...
DB2数据库的索引调优,保证大家看了不觉得后悔
### DB2性能优化详解 #### 一、引言 在数据库管理系统(DBMS)领域,IBM的DB2作为一款成熟且广泛使用的解决方案,在诸多业务场景中扮演着关键角色。随着数据量的增长和技术的发展,如何有效提升DB2的性能成为了许多...
### DB2性能优化快速入门详解 #### 一、引言 DB2 Universal Database(简称DB2 UDB)作为IBM的一款高性能关系型数据库管理系统,在企业级应用中占据着重要的地位。然而,随着数据量的增长和用户数量的增加,DB2...
### DB2数据库优化技巧 #### 一、监视开关的重要性(第十条) 监视开关是了解数据库性能状况的关键。通过开启监视开关,我们可以收集到各种性能相关的数据,这对于诊断问题至关重要。命令`db2 "update monitor ...