Это было приключение. Я начал с зацикливания повторяющегося запроса, расположенного в моем предыдущем вопросе , но каждый цикл проходил бы по всем 17 миллионам записей , , означая, что это займет недели (просто выполнение *select count * from MyTable*
занимает у моего сервера 4:30 минуты с использованием MSSQL 2005). Я пролил информацию с этого сайта и на эту запись .
И пришли к запросу ниже. Вопрос в том, является ли этот тип запроса для 17 миллионов записей для любого типа производительности? Если нет, то что?
SQL-запрос:
DELETE tl_acxiomimport.dbo.tblacxiomlistings
WHERE RecordID in
(SELECT RecordID
FROM tl_acxiomimport.dbo.tblacxiomlistings
EXCEPT
SELECT RecordID
FROM (
SELECT RecordID, Rank() over (Partition BY BusinessName, latitude, longitude, Phone ORDER BY webaddress DESC, caption1 DESC, caption2 DESC ) AS Rank
FROM tl_acxiomimport.dbo.tblacxiomlistings
) al WHERE Rank = 1)