【发布时间】:2021-12-17 20:09:05
【问题描述】:
我在 EmpId 上有一个索引。我想在索引中包含几列。
Create Index IX_01_EmpId On empTable(EmpId) INCLUDE (name, dept, salary, joining_dt).
我知道包含的列通过避免键查找来加快查询速度。它们如何影响插入/更新/删除语句的性能?当对表执行任何插入/更新/删除语句时,索引表的幕后会发生什么?
【问题讨论】:
-
任何关于我们部件性能的想法很大程度上都是猜测,但有很多我们不知道,甚至可以猜测。表中有多少列,它们的数据类型是什么?目前有多少行? CRUD 操作多久运行一次,平均添加/更新/删除多少行? (是否有实际删除?不应该有。只是逻辑删除,即更新......)对于大多数员工表,没有太多 CRUD 操作,但也许这是一个异常值?
-
听起来你对covering index感兴趣。
标签: sql sql-server database tsql database-design