У меня есть запрос, который я запускаю, но для завершения требуется несколько часов. Он работает на столе с более чем 5 миллионами строк. Я попытался испортить различные порции, чтобы настроить его, но имеет ограниченную подготовку в SQL и без обучения оптимизации SQL. Любая помощь, чтобы сделать это даже немного быстрее, будет значительно оценена.SQL Server оптимизирует запрос для миллионов строк
Запрос:
UPDATE Work_Orders SET status_ref = (SELECT id FROM Status s WHERE s.status LIKE 'Invalid Loan Number')
WHERE id IN (SELECT w.id FROM Work_Orders w LEFT JOIN (SELECT * FROM Contract_Code_Ref c WHERE c.contract_code = 'AAA') a
ON w.file_name LIKE a.prior_servicer_loan_number + '%'
WHERE a.id IS NULL AND w.work_order_ref = (SELECT id FROM Work_Order_Lookup l WHERE l.work_order = '1234'));
табличные структуры:
Work_Orders:
id bigint
work_order_ref int
path varchar(300)
file_name varchar(150)
file_size bigint
loan_number varchar(15) Null
scan_date date Null
doctype varchar(50) Null
status_ref tinyint
last_updated timestamp
Work_Order_Lookup:
id int
work_order varchar(6)
Status:
id int
status varchar(30)
Contract_Code_Ref:
id int Unchecked
contract_code varchar(3)
prior_servicer_loan_number varchar(15)
current_loan_number varchar(10)
last_updated timestamp
Я с помощью SQL Server 2014 Express.
Заранее благодарен!
Это полное обновление столбца и выбор, правильный? – mxix
Извините, выбор был там для тестирования. Это реальный запрос –