加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-01-25 01:21:00 所属栏目:MsSql教程 来源:网络整理
导读:在Oracle中使用表时,您如何知道何时设置好索引而不是坏索引? 解决方法 这取决于你的“好”和“坏”的含义.基本上你需要意识到你添加的每个索引都会提高该列搜索的性能(因此在person表的’lastname’列中添加索引会提高在其中包含“where lastname =”的查

在Oracle中使用表时,您如何知道何时设置好索引而不是坏索引?

解决方法

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

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

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

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

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

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读