首页 理论教育数据库性能管理与调优:索引生成标准与优化方法

数据库性能管理与调优:索引生成标准与优化方法

【摘要】:图5-14考虑索引生成标准从根本上来说创建索引是为了加快查找速度。但如果创建特定索引,反而会对整体执行性能造成不良影响。因此为确定特定表的索引构成,需要调查访问表的SQL的访问模式,并基于调查结果做出综合性的判断。此外,添加索引时最好计算查找负载量减少和DML负载量增加造成的大致损益。因此生成两个索引对整个系统较为有效。

特定表根据访问模式生成不同索引,如图5-14所示。

图5-14 考虑索引生成标准

从根本上来说创建索引是为了加快查找速度。因此开发者会为加快自己的应用程序速度而请求添加或变更索引。但如果创建特定索引,反而会对整体执行性能造成不良影响。因此为确定特定表的索引构成,需要调查访问表的SQL的访问模式,并基于调查结果做出综合性的判断。此外,添加索引时最好计算查找负载量减少和DML负载量增加造成的大致损益

1)使用 Col1+Col3+Col2时

(1) SQL1速度改善 :1000×0.5=500 s

(2) SQL2速度低下 :100000×1=100000 s

(3) SQL3速度改善 :5000×0.5=2500 s

2)使用 Col1+Col2+Col3时

(1) SQL1速度低下 :1000×0.5=500 s

(2) SQL2速度改善 :100000×1=100000 s(www.chuimin.cn)

(3) SQL3速度低下 :5000×0.5=2500 s

3)两个都生成时

(1) SQL1速度改善 :1000×0.5=500 s

(2) SQL2速度改善:100000×1=100000 s

(3) SQL3速度改善 :5000×0.5=2500 s

4)一个索引的DML负载量(速度低下)

(1) INSERT (100000) +DELETE(100000) +UPDATE(50000) =250000 次

(2) DML 执行时间 :250000×0.01 s=2500 s

(3)每添加 1个索引时DML负载量增加(20%~30%):增加2500 s×0.3=750 s

在上述情况下DML的负载量非常少。因此生成两个索引对整个系统较为有效。