gpt4 book ai didi

sql-server - 当主键无法使用时,聚集索引的最佳选择是什么?

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

考虑到大多数表的主键都是 uuid 的应用程序,这些表上的聚集索引的最佳选择是什么?

  • 需要聚集索引,因为后端数据库是 Azure SQL Server,而 Azure 需要聚集索引。
  • uuid 是一种设计选择,旨在满足 n 个客户端在断开连接状态下创建实体并在连接时同步的需求。
  • 我们不使用主键作为聚集索引,以避免由于 uuid 的随机性而导致的碎片问题。

考虑以下数据类型:

  • intbigint。简单 - 可以自动递增(好/坏),但看起来很随意并且实用性有限。感觉就像是黑客攻击。
  • datetime - 增加实用性 - 可以是 createdOnServer 列。但会导致一些重复,因此需要唯一符(我不知道这是一个多大的问题)
  • datetime2 - 比 datetime 更宽,但精度更高,欺骗更少。

寻找关于哪一个最好、需要考虑的事项或替代想法的评论。

最佳答案

我不知道你为什么拒绝自动递增 int。任何广泛使用的东西都可以很好地工作,只要您不打算将表(通过联合)与表的其他版本合并,为什么您不想使用它呢?它将为平衡 B 树提供一个非常好的键(不太宽),聚集索引位于幕后。请记住,在具有聚集索引的表中,所有其他索引都将使用聚集索引列来获取所需的页和行,因此您希望使其尽可能小。

关于sql-server - 当主键无法使用时,聚集索引的最佳选择是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208092/

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