Мне нужна помощь для решения проблемы, которая сводит меня с ума!
Я переместил приложение ASP + SQL Server со старого сервера на новый.
Старый сервер Windows 2000 с MSDE, а новый - Windows 2008 с SQL Server 2008 Express.
Все в порядке, даже немного быстрее, за исключением одной проклятой функции, чья страница asp дает время ожидания.
Я пытался выполнить запрос на этой странице в окнах запросов управления, и он никогда не завершается, в то время как на старом сервере его выполнение занимало около 1 минуты.
Запрос такой:
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
Я пытался преобразовать 2 представления в последних строках в таблицы, и запрос работает, даже если он немного медленнее, чем раньше.
Я перенес базу данных с помощью функции резервного копирования / восстановления. Может ли это быть и проблема индекса?
Есть предложения?
Заранее спасибо!
Alessandro