Nar*_*ian 3 sql-server primary-key non-clustered-index
我今天在查看我们的SQL Server数据库上的索引,并注意到一个相对较小(非常旧)的表(3250行),其中有一个varbinary(max)类型的列用于图像数据.
主键是非聚簇索引,并且存在另一个IS群集的索引(在用户ID上并且已删除).
再一次,这是一张非常古老的桌子,当这张桌子被创建时,周围没有人在这里.
那么,有没有理由让它以这种方式设置?我应该改变它吗?如果我应该,有什么我应该注意的吗?
索引是基于用例的.PK实际上是PK的索引(您在索引中强制执行唯一性),并在查询中使用PK时使用.您可以很容易地想象一种情况,即查询中使用的列不依赖于PK并使用其他一些列组合.
现在想象一下这个用例并不是唯一的用例,而是主要用例.在这种情况下,设计人员可以聚集在这个用例上,而不是那些使用频率较低的用例.
我给你的建议如下:
相信我,我已经被它咬了过去.我试着不改变没有测试的东西,这些测试提供了变化的证据,既可以工作也可以不破坏其他东西.使用遗留系统时,这是至关重要的.
归档时间: |
|
查看次数: |
804 次 |
最近记录: |