gpt4 book ai didi

sql-server-2008 - 此表的最快模式方法?

转载 作者:行者123 更新时间:2023-12-02 08:51:08 24 4
gpt4 key购买 nike

我在 SQL Server 2008 数据库中有下表:

  • ID UNIQUEIDENTIFIER NOT NULL
  • 范围 CHAR(5) NOT NULL
  • 数据 NVARCHAR(MAX)

该表很少被修改,但经常使用

SELECT Data 
WHERE ID = @X
AND Scope = @Y

命令。

Data 可以是从空白到几页文本的任何内容。 ID+Scope 将始终是唯一的。该表将包含几千个唯一 ID 和少于 20 个唯一 Scope 值。

我正在努力确保我使用的是键/索引的最佳策略。目前,我刚刚使用 IDScope(按此顺序)设置了主要的非聚集键。

最佳答案

假设 ID 本身不是唯一的,并且您不倾向于将 ID 类型更改为 INT,那么您所做的几乎是最优的。

  • 您正在使用 nvarchar(max) 而不是 ntext - 这会表现得更好,并且 ntext 已计划弃用
  • 您的主键首先在最具选择性的列 (ID) 上排序

我要补充的一件事是将您的主键聚类,以获得更好的性能。这比 N West 的添加聚簇索引的解决方案更可取,因为这样您将有两个重复的索引(PK 和聚簇索引),这会损害写入性能,而不会提高读取性能。最好简单地对您已有的索引进行聚类:主键。

编辑添加:由于您的表很少更新,因此使用 GUID 键字段不会像在经常更新的表上那样让您退缩。不理想,但在您的特定情况下,它的影响应该很小。

不过,在前几次必须手动将某人在便利贴上潦草地写到查询窗口中的 GUID 输入后,您可能会觉得很烦人。

关于sql-server-2008 - 此表的最快模式方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8495563/

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