【发布时间】:2011-05-16 01:56:17
【问题描述】:
select top 1 col1
from table1
order by CreatedOn desc
在 SQL Server 2005 上执行此查询需要 6 分钟。
该表包含大约 25,00,000 行,总列数为 36,但如上所示,我只是检索数据类型为 uniqueidentifier 的单个列。
所以,请帮助我进行优化,如果需要更多详细信息,请告诉我。
好吧,让我告诉你,我无法更改我的表结构或无法对索引等表进行任何更改。建议仅更改查询或不会对表结构产生影响的更改。
【问题讨论】:
-
如果你不能创建索引,那么你就不能改进你的查询。
-
@"oracle Certified Professional" 我应该如何继续创建新表??
-
顺便说一句,添加索引并没有真正改变一个表(尽管我并不是说这是一个琐碎的免费操作!);索引不是域对象(除非它是唯一约束)。这是一个非功能性问题
-
你投反对票??我只是问:除了索引如何实现性能之外,至少在某种程度上。索引是微不足道的答案,我想要一些不同的东西。不明白否决票??
-
@oracle 的意思是,如果按主键排序给您与按 CreatedOn 排序相同的结果,您可以按主键排序并使用该索引(如果存在)。
标签: sql sql-server-2005 tsql query-optimization performance