更新统计信息的调优
IDS 使用基于本钱的优化器:
当优化器确定盘诘规画时,它为每个可以的规画付与一个本钱,然后选择本钱最低的规画。下面是优化器用于确定每个盘诘规画的本钱的一些要素:
- 与每个文件系统会见相干的 I/O 请求的数目
- 确定哪些行满足盘诘谓词所需的 CPU 事项
- 对数据举办排序或分组所需的本钱
- 可用于盘诘的内存大小(由
DS_TOTAL_MEMORY
和DS_MAX_QUERIES
参数指定)
为了盘算每种可以的盘诘规画的本钱,优化器:
- 使用一组描画表数据和索引的性子和物理特性的统计信息
- 反省盘诘过滤器
- 反省规画中可以使用的索引
- 分析转移数据以实验本地毗连或用于漫衍式盘诘的远程毗连的本钱
它使用系统编目表 SYSDISTRIB 确定本钱。
UPDATE STATISTICS
语句更新优化器用于确定最低本钱的盘诘规画的系统编目中的统计信息。
下面的统计信息是由 CREATE INDEX
带或许不带 ONLINE
关键字主动生成的。
- 索引级统计信息相当于 LOW 形式下 UPDATE STATISTICS 使用中搜集到的统计信息,用于一切范例的索引,包罗 B-树、Virtual Index Interface 和函数索引。
- 列漫衍索引相当于 MEDIUM 形式下 UPDATE STATISTICS 使用中搜集到的漫衍信息,用于普通 B-树索引的 non-opaque 指导索引列。
为确保优化器选择最能回响反映表确当前形状的盘诘规画,当没有主动生成静态表(即数据不时变革)的统计信息时,应活期运转 UPDATE STATISTICS
。
下面的表 5 总结了何时运转差其他 UPDATE STATISTICS
语句。假设有良多表,那么可以编写一个剧本以生成这些 UPDATE STATISTICS
语句。ISA 可感受感染表生成良多 UPDATE STATISTICS
语句。
表 5. 运转 UPDATE STATISTICS 的指南
UPDATE STATISTICS LOW DROP DISTRIBUTIONS
- 行数曾经有了大年夜的变革
- 从之前版本的数据库效劳器迁徙过去之后
UPDATE STATISTICS LOW
- 用于不是任何索引的指导列的一切列
- (多列索引中的一切类)关于在毗连列或过滤列上界说了多列索引的盘诘
UPDATE STATISTICS MEDIUM DISTRIBUTIONS ONLY
- 有未索引的毗连列或过滤列的盘诘
UPDATE STATISTICS HIGH
- (表或许索引中的指导列)用于有被索引的毗连列或过滤列的盘诘
- (多列索引中的第一个区陈设)用于在毗连列或过滤列上界说了多列索引的盘诘
- 有良多小型表的盘诘(放在一个盘区)
革新的统计信息维护
新特性将盘诘优化器可用统计信息的搜集的某些方面主动化,并使用户可以更好地节制这些统计信息的搜集和显示。
- Dynamic Server 目前主动搜集索引统计信息,这些统计信息相当于在 non-opaque 列上创建新索引时,在 LOW 形式下 UPDATE STATISTICS 搜集的统计信息。
- 当创建一个 B-树索引时,Dynamic Server 也搜集列统计信息,这相当于 HIGH 形式下,对少于一百万行的表使用 1% 的抽样率,对更大年夜的表使用 0.5% 的抽样率的状态下,UPDATE STATISTICS 搜集的信息。
- 用户不需求运转
UPDATE STATISTICS
,盘诘优化器就可以使用该特性主动搜集的索引和列统计信息。也可以在 SET EXPLAIN 输入中新的盘诘统计信息部分反省关于完成的盘诘的统计信息。 - 在 MEDIUM 形式下的显式 UPDATE STATISTICS 使用中,resolution 子句中新的
SAMPLING SIZE
选项可以指定用于列漫衍抽样的最小行数。
指定 SAMPLING SIZE
SAMPLING SIZE 关键字和 UPDATE STATISTICS MEDIUM
一起使用,用于指定在盘算列漫衍统计信息时抽样的最小行数。抽样的行数将大年夜于以下两个值:
- 指定的值
- 满足每个 bin 中的行的百分比,同时满足信赖度所需的行数
每个 bin 中的行的默许百分比为 2.5%,最小信赖度为 .80。
例如,清单 4 中的语句盘算 customer 表中三个列的统计信息。至多有 300 行被抽样,可是理想抽样可以多于 300 行。但是,如果需求更多的行以满足默许的 0.80 的信赖度,那么关于一个使用 60 个一致类别的示例漫衍,将抽样更多的行。每个 bin 中被抽样的值的平均百分比将为 3%。
清单 4. SAMPLING SIZE 的使用示例
UPDATE STATISTICS MEDIUM FOR TABLE customer (address1, city, state) SAMPLING SIZE 300 RESOLUTION 3 DISTRIBUTIONS ONLY;
当 UPDATE STATISTICS MEDIUM
运转时,Dynamic Server 总是在系统编目中记载理想抽样大小(表中总行数的百分比)。
版权声明: 原创作品,答应转载,转载时请务必以超链接形式标明文章 原始情由 、作者信息和本声明。否则将清查规律责任。