小编典典

默认情况下,SQL Server是否在表的所有列上创建非聚集索引

sql

sql server将创建任何默认的非聚集索引吗?我们真的应该将所有FK都作为非聚集索引吗?这里的权衡是什么


阅读 159

收藏
2021-04-14

共1个答案

小编典典

否,SQL Server不会自动创建非聚集索引。
除非您的CREATE TABLE声明另有说明,否则将基于主键自动创建聚簇索引。

是的,我会建议索引外键列,因为这些是最容易被JOIN’d
/搜索不要使用INEXISTS等等。但是,要知道,在低基数的设定值(性别为例)的指标会比较没有用,因为值之间没有足够的差异。

所有索引之间的权衡是它们可以加快数据检索速度,但会减慢数据插入/更新/删除速度。还需要执行维护,因为它们可能会变得碎片化(例如硬盘驱动器),但随着时间的推移可能不会被使用。索引也占用驱动器空间。

2021-04-14