我正在使用SQL Server 2005 Express,并且遇到了一个奇怪的问题。我有一个名为“DailyPrice”的表格,它有大约2400万条记录(我能够制作这张表感谢您在此主题中的所有帮助:SQL Server 2005 slows down as I keep adding rows)当我使用“where”时SQL Server查询冻结
现在,我在VB中运行了一个不同的奇特功能。 NET,我需要根据股票代码(仅1)获取条目列表,并且我需要它们从最旧到最新组织。
此查询的工作:
SELECT Ticker, DateStamp, ClosePrice
FROM DailyPrice
WHERE (Ticker = 'DD')
这一个或者是痛苦的缓慢,我得到一个超时错误:
SELECT Ticker, DateStamp, ClosePrice
FROM DailyPrice
WHERE (Ticker = 'DD')
ORDER BY DateStamp
字段北京时间和日期戳是我的主索引,在重要的情况下, 。 为什么当我使用ORDER BY时会减慢速度?几个小时前,问题查询进行得很快,但只有一次 - 现在我被超时困扰。
索引中的DateStamp和Ticker的顺序是什么?他们有多选择? – 2010-01-10 02:23:26
当我打开PK_DailyPrice的索引属性时,它首先有DateTime然后它有Ticker,都是递增的(如果那很重要?) – 2010-01-10 02:34:53
我刚刚打开了PK_DailyPrice的碎片属性,它说Total Fragmentation是98.79% - 这不好吗? – 2010-01-10 02:35:44