CREATE INDEX idx_dt ON dim_ku (dt)
CREATE NONCLUSTERED INDEX idx_dim_ku_dt ON [dim_ku] (dt) INCLUDE (ord, num2, FinaMoney, locked,locknum,product_title)
CREATE NONCLUSTERED INDEX idx_dim_ku_dt_ck ON [dim_ku] (dt) INCLUDE (ord, num2, FinaMoney, ck, locked,locknum,product_title, sortck_sort1)
CREATE NONCLUSTERED INDEX idx_dim_ku_dt_dayDiff ON [dim_ku] (dt, dayDiff) INCLUDE (FinaMoney)
CREATE NONCLUSTERED INDEX idx_dim_ku_dt_Status ON [dim_ku] (dt, Status) INCLUDE (FinaMoney)
CREATE NONCLUSTERED INDEX idx_dim_ku_dt_daterk ON [dim_ku] (dt, daterk) INCLUDE (ord, FinaMoney, product_title)
删除索引:
DROP INDEX idx_ods_M2_WorkAssigns_dt ON ods_M2_WorkAssigns;
警告! 最大键长度为 900 个字节。索引 ‘idx_ods_M2_WorkAssigns_dt’ 的最大长度为 8003 个字节。对于某些大值组合,插入/更新操作将失败。
字段太长 改为构建前缀索引(没验证过,后继可以尝试下)
— 首先,如果表`ods_M2_WorkAssigns`中还没有包含截取前100个字符的列,则创建一个: ALTER TABLE ods_M2_WorkAssigns ADD Cateid_WA_Prefix AS LEFT(Cateid_WA, 100) PERSISTED;
— 然后,在新创建的计算列和dt字段上创建非聚集索引
CREATE NONCLUSTERED INDEX idx_ods_M2_WorkAssigns_dt ON [ods_M2_WorkAssigns] (dt, Cateid_WA_Prefix);
最后改为
CREATE NONCLUSTERED INDEX idx_ods_M2_WorkAssigns_dt ON [ods_M2_WorkAssigns] (dt) INCLUDE (Cateid_WA)
速度也还可以
该SQL语句是创建一个名为idx_ods_M2_WorkAssigns_dt
的非聚集索引,应用于表ods_M2_WorkAssigns
。索引结构如下:
-
索引键(Ke服务器托管网y Columns):只包含
dt
字段。这意味着索引将按dt
字段的值进行排序。 -
包含列(Included Columns):包含
Cateid_WA
字段。虽然Cateid_WA
字段不在索引键中,但其值会被包含在索引内部的每个索引叶级页中。这样,在执行查询时,如果查询条件涉及到dt
字段,并且需要返回Cateid_WA
字段的值,那么数据库可以直接从索引中获取所需数据,而无需额外回表操作,从而提高查询性能。
总结:这个索引主要用于优化那些以dt
为筛选条件并需要返回Cateid_WA
字段的查询场景。
—————————————————————-
CREATE NONCLUSTERED INDEX 与 CREATE INDEX 的区别
在SQL Server以及许多其他关系型数据库系统中,CREATE INDEX
是创建索引的通用语法。而CREATE NONCLUSTERED INDEX
则是更具体地指定了要创建的是非聚集索引。
区别如下:
-
CREATE INDEX:
- 这是一个包含所有类型索引(如聚集索引和非聚集索引)的泛称语法。
- 如果不指定聚集或非聚集,则具体的索引类型可能依赖于数据库系统的默认行为或当前表上已经存在的索引情况。
-
CREATE NONCLUSTERED INDEX:
- 明确指定了创建的是非聚集索引。
- 非聚集索引与数据行在物理存储上的顺序无关。它有一个独立的结构,通常称为B树或B+树,叶子节点包含指向实际数据行的指针。
- 非聚集索引可以针对一个或多个列创建,并且可以在同一个表上创建多个非聚集索引以支持不同的查询路径。
-
对比聚集索引(Clustered Index):
- 聚集索引决定了表中数据行的物理存储顺序。
- 表只能有一个聚集索引,因为数据只能按照一种物理顺序排列。
- 在聚集索引中,叶子级别就是实际的数据行,而不是指向数据行的指针。
所以,在SQL S服务器托管网erver中,当你使用CREATE INDEX
并未明确指定类型时,如果没有聚集索引存在,可能会默认创建一个聚集索引(具体情况取决于数据库版本、设置及语句中的详细信息),或者如果已经有聚集索引,则将创建非聚集索引。而CREATE NONCLUSTERED INDEX
则始终确保创建的是非聚集索引。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比
EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比 目录 EI级 | Matlab实现TCN-GRU-MATT、TCN-GRU、TCN、GRU多变量时间序列预测对比 预测效果 基本介绍 程序设计 参考资料…