数据库 – 你怎么知道一个好的索引是什么?

前端之家收集整理的这篇文章主要介绍了数据库 – 你怎么知道一个好的索引是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Oracle中使用表时,您如何知道何时设置好索引而不是坏索引?

解决方法

这取决于你的“好”和“坏”的含义.基本上你需要意识到你添加的每个索引都会提高该列搜索性能(因此在person表的’lastname’列中添加索引会提高在其中包含“where lastname =”的查询性能)但是降低整个表的写入性能.

原因是当您添加或更新行时,它必须添加或更新表本身以及该行所属的每个索引.因此,如果表上有五个索引,则每个添加必须写入六个位置 – 五个索引和表 – 并且在最坏的情况下更新可能会触及六个位置.

索引创建是查询速度和写入速度之间的平衡行为.在某些情况下,例如一个数据集市,每周只在一夜工作中加载一次数据但每天查询数千次,因此重载索引并尽可能加快查询速度是非常有意义的.但是,对于在线交易处理系统,您希望尝试在它们之间找到平衡点.

因此,简而言之,将索引添加到在选择查询中大量使用的列,但尝试避免添加太多,因此首先添加最常用的列.

在此之后,进行负载测试以了解性能如何在生产条件下做出反应,并进行大量调整以找到可保证的平衡.

猜你在找的MsSQL相关文章