是否值得在排序表上创建和使用索引?

时间:2014-12-15 14:21:43

标签: sql database indexing

我知道我们创建索引是为了便于查询和从磁盘中检索数据,尤其是数据位于多个块中。让我们假设我们在数据库中存储了一个表,并且该表已经根据某些条件进行了排序。是否值得在该表上创建索引以便检索更快?

1 个答案:

答案 0 :(得分:1)

我会简化一下,但它仍然应该得到重点。表只能根据一个密钥(称为聚簇索引)进行物理排序,通常与主键相同。如果您需要对包含聚簇索引的列以外的列进行查找,则的数据将被排序,并且可能需要对聚簇索引进行全表扫描。如果您的表足够大并且您执行了大量涉及聚簇索引以外的列的查询,那么您将需要在其他列上创建其他索引。

与往常一样,实际测量结果以确定其是否重要,并确保查看执行计划以确定它是否有所作为。在某些情况下,没关系。

最后,索引会降低插入和更新操作的速度,因为除了常规表数据之外,还需要更新索引。因此,您需要考虑桌面上经常发生的操作类型。如果插入很少,但读取频繁,那么索引将有所帮助。如果您主要是插入数据并且很少阅读它,请不要费心索引。