У меня есть один временный стол с 1 миллион строк, и мне просто нужно пройти через все строки и сделать некоторые основные вычисления скалярного, что-то вроде этого:Ускорить оператор Hash Match на одном столе
SELECT m.BatteryID, m.CarID, /*calculating some scalar*/
FROM #Return m
GROUP BY m.CarID, m.YearTime, m.BatteryID;
таблица имеет один идентификатор 1,1 Кластерный индексированный ПК.
План запроса выглядит следующим образом:
Это показывает, что у меня есть кластерный индекс сканирования, который хорошо, так как я всегда использовать все строки из таблицы, следовательно, дерево путешествовала сверху вниз. Кроме того, не кластеризованное сканирование индекса является наиболее трудоемким (17%), но Hash Match (65%) Есть ли способ повысить производительность по такому простому сценарию?
Спасибо!
Вы можете попробовать добавить указатель на «CarId, YearTime, BatteryId». –
В столбцовом индексе будет указана скорость 10-100x. – usr
@usr да, но индекс столбцового магазина отсутствует в sql2008 – Avithohol