添加非聚集索引

时间:2016-05-04 17:45:13

标签: mysql sql tsql ssms non-clustered-index

所以当前查询我需要很长时间才能运行。当我运行执行计划时,它显示:表插入(#tempdata),成本:99%。我意识到我需要添加非聚集索引来快速运行查询。所以我添加了这行代码,但仍然没有区别:

create nonclustered index #temp_index 
  on [dbo].#tempData ([class_room]) include ([class_name],[class_floor],[class_building])

这是我当前的查询:

IF OBJECT_ID('tempdb..#tempdata') IS NOT NULL DROP TABLE #tempdata

    SELECT [class_room][class_name],[class_floor],[class_building]
    INTO #tempdata
    FROM class_info x

create nonclustered index #temp_index 
   on [dbo].#tempData ([class_room]) include ([class_name],[class_floor],[class_building])

;with cte1 as(
SELECT [class_room][class_name],[class_floor],[class_building]
FROM #tempdata
WHERE class_room <> '')  

select * from cte1

1 个答案:

答案 0 :(得分:1)

评论时间有点长。

你能解释为什么你不只是运行这段代码吗?

SELECT [class_room], [class_name], [class_floor], [class_building]
FROM class_info x
WHERE class_room <> '';

如果性能是一个问题,我首先会建议摆脱不必要的读写 - 例如创建一个临时表。