优化SQL Server查询
我创建了一个视图,该视图使用连接从多个表中返回数据。 当我从该视图中选择而不使用Order By
子句时,执行该查询所用的时间仅为1秒或更短。 但是当我使用order by
与我的选择查询,它需要大约27秒只返回top(15)
从该视图记录。
这是我运行的查询从View获取数据
SELECT TOP(15) *
FROM V_transaction
ORDER BY time_stamp DESC
注意 :该视图的记录总数约为300000
我可以在视图设计中更改哪些内容以获得更好的性能?
首先想到的是在视图中的time_stamp
上创建一个索引。 如果您不想/无法创建索引视图,则可以在基础表的列中创建索引,并从中获取该值。 这应该会增加您的查询性能。
如果您在执行计划后仍然有问题 - 这应该会显示您的查询出现性能问题的确切位置/原因。
为什么不创建一个额外的列来存储每个日期记录的天数+秒数,然后按该列排序。
链接地址: http://www.djcxy.com/p/93941.html