gpt4 book ai didi

sql-server - SQL Server : Clustered index on datetime, ASC 或 DESC

转载 作者:行者123 更新时间:2023-12-02 02:45:05 25 4
gpt4 key购买 nike

如果我的 SQL Server 表在日期时间字段上有聚集索引,并且在插入之前设置为 DateTime.Now(来自 C#),那么索引应该升序还是降序以避免表重组?

谢谢。

最佳答案

其实并不重要 - 但 DateTime 真的能保证是唯一的吗?我会避免仅在 DateTime 上放置聚集索引 - 我会使用 INT IDENTITY 或 BIGINT IDENTITY 来代替,并在 DateTime 上放置常规非聚集索引(因为这确实不能保证是唯一的......)

马克

PS:与主键一样,对于聚集键应该是什么的普遍共识是:

  • 唯一(否则 SQL Server 将通过向其添加 4 字节唯一符来“唯一化”它)
  • 尽可能缩小
  • 静态(永不改变)
  • 不断增加

构成聚集键的列(包括 4 字节唯一符)被添加到每个非聚集索引中的每个条目中 - 因此您希望它们尽可能精简。

PS 2:聚集键被添加到每个非聚集索引中,因为这是 SQL Server 在非聚集索引中找到搜索值后检索整行的方式。可以这么说,这是该行在数据库中的“位置”。因此,它应该是唯一且狭窄的。

关于sql-server - SQL Server : Clustered index on datetime, ASC 或 DESC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com