Files
chill_notes/实践积累/数据库/批量增加非聚集索引.md
2026-04-21 17:41:25 +08:00

1.5 KiB
Executable File

--声明一个变量

declare @tbname as nvarchar(100);

--声明一个游标用来遍历查询到的结果

declare C_userID CURSOR for
select distinct TABLE_NAME from information_schema.COLUMNS
where TABLE_NAME like '%_clean'

--打开游标

open C_userID;

--获取游标指向的数据

fetch next from C_userID into @tbname;
while @@FETCH_STATUS = 0

BEGIN --执行具体的操作 --创建非聚集索引 --create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) EXEC('create NONCLUSTERED INDEX '+'IX_'+@tbname+ ' ON '+@tbname+ '([Style] ASC,[aDatetime] DESC)') --游标指向下一条数据

FETCH next from C_userID into @tbname;

END --关闭游标 CLose C_userID --释放游标 DEALLOCATE C_userID;

--声明一个变量

declare @tbname as nvarchar(100);

--声明一个游标用来遍历查询到的结果

declare C_userID CURSOR for
select distinct TABLE_NAME from information_schema.COLUMNS
where TABLE_NAME like '%_2020_APP'

--打开游标

open C_userID;

--获取游标指向的数据

fetch next from C_userID into @tbname;
while @@FETCH_STATUS = 0

BEGIN --执行具体的操作 --创建非聚集索引 --create NONCLUSTERED INDEX 索引名称 ON 表名(字段名) EXEC('create NONCLUSTERED INDEX '+'IX_'+@tbname+ ' ON '+@tbname+ '([DeviceId] ASC,[CollectTime] DESC)') --游标指向下一条数据

FETCH next from C_userID into @tbname;

END --关闭游标 CLose C_userID --释放游标 DEALLOCATE C_userID;