索引上的DML操作

时间:2018-06-14 17:06:57

标签: sql indexing

我知道不建议在经常更新的表上创建索引。但是,其他DML操作是否也适用?是否建议在对其执行频繁INSERT和DELETE操作的表上创建索引?

1 个答案:

答案 0 :(得分:1)

索引开销在很大程度上取决于表的大小,复杂性以及各种INSERT / UPDATE / DELETE操作的数量和大小。

有时删除索引会更快,执行操作然后重新创建索引,而不是执行索引完整的操作。

其他时候它变慢了。

您还需要权衡这与同时发生的任何SELECT操作的影响。

  

"过早的优化是所有邪恶的根源(或者至少是大部分的   它在编程" (Knuth,1974年图灵奖演讲)。

在您遇到无法通过改进查询来修复的实际性能问题之前,我会忽略所有的边缘 - 最后沟渠努力选项,例如"没有索引&#34 ;.拥有正确的索引几乎总是在正常操作中提高性能。