Sql 服务器移动后,查询将不会';我不再工作了
我需要一些帮助来解决一个让我发疯的问题 我已将ASP+SQL Server应用程序从旧服务器移动到新服务器 旧的是带有MSDE的Windows 2000服务器,新的是带有SQL server 2008 Express的Windows 2008 一切都正常,甚至快了一点,除了一个该死的函数,它的asp页面会超时 我在管理查询窗口中尝试了该页面中的查询,但查询从未结束,而在旧服务器中,完成查询大约需要1分钟 查询如下:Sql 服务器移动后,查询将不会';我不再工作了,sql,asp-classic,sql-server-express,Sql,Asp Classic,Sql Server Express,我需要一些帮助来解决一个让我发疯的问题 我已将ASP+SQL Server应用程序从旧服务器移动到新服务器 旧的是带有MSDE的Windows 2000服务器,新的是带有SQL server 2008 Express的Windows 2008 一切都正常,甚至快了一点,除了一个该死的函数,它的asp页面会超时 我在管理查询窗口中尝试了该页面中的查询,但查询从未结束,而在旧服务器中,完成查询大约需要1分钟 查询如下: SELECT DISTINCT TBL1.TBL1_ID,
SELECT DISTINCT
TBL1.TBL1_ID,
REPLACE(TBL1_TITOLO, CHAR(13) + CHAR(10), ’ ’),
COALESCE(TBL1_DURATA, 0), TBL1_NUMERO,
FLAG_AUDIO
FROM
SPOT AS TBL1
INNER JOIN
CROSS_SPOT AS CRS ON CRS.TBL1_ID = TBL1.TBL1_ID
INNER JOIN
DESTINATARI_SPOT AS DSP ON DSP.TBL1_ID = TBL1.TBL1_ID
WHERE
DSP.PTD_ID_PUNTO = 1044
AND DSP.DSP_FLAG_OK = 1
AND TBL1.FLAG_AUDIO_TESTO = 1
AND TBL1.FLAG_AUDIO_GRAFICO = ’A’
AND CRS.CRS_STATO > 2
OR TBL1.TBL1_ID IN (SELECT ID
FROM V_VIEW1
WHERE ID IS NOT NULL AND V_VIEW1.ID_MODULO = 403721)
OR TBL1.TBL1_ID IN (SELECT TBL1_ID
FROM V_VIEW2
WHERE V_VIEW2.ID_PUNTO = 1044)
ORDER BY
TBL1_NUMERO
我尝试将最后一行中的两个视图转换为表,查询工作正常,即使比以前慢了一点
我已经迁移了数据库的备份/恢复功能。这可能是一个问题吗?
有什么建议吗
提前谢谢
亚历山德罗跑:
--Defrag all indexes
sp_msForEachTable 'DBCC DBREINDEX (''?'')'
--Update all statistics
sp_msForEachTable 'UPDATE STATISTICS ? WITH FULLSCAN'
如果这不能“解决问题”,那么SQL Server优化器中的一些细微的“改进”会让事情变得更糟
尝试索引优化向导(或任何与SSMS2008等效的工具)
在此之后,您必须开始分离查询,删除内容,直到它快速运行。由于您有2个或子句,因此基本上有3个单独的查询:
SELECT ... FROM ...
WHERE DSP.PTD_ID_PUNTO = 1044
AND DSP.DSP_FLAG_OK = 1
AND TBL1.FLAG_AUDIO_TESTO=1
AND TBL1.FLAG_AUDIO_GRAFICO=’A’
AND CRS.CRS_STATO>2
--UNION
SELECT ... FROM ...
WHERE TBL1.TBL1_ID IN (
SELECT ID
FROM V_VIEW1
WHERE ID IS NOT NULL
AND V_VIEW1.ID_MODULO = 403721
)
--UNION
SELECT ... FROM ...
WHERE TBL1.TBL1_ID IN (
SELECT TBL1_ID
FROM V_VIEW2
WHERE V_VIEW2.ID_PUNTO = 1044
)
看看哪一个是最慢的
p、 在美国,一个需要一分钟的查询是相当糟糕的。我的意见是,查询应该立即返回(在人类观察的范围内)如果没有查询计划、模式甚至数据等非常具体的细节,就不可能回答这个问题。我建议您阅读有关查询优化的一般内容。建议您从查询计划开始。这些索引视图是在旧服务器上创建的,现在是否已编制索引?