Сортировка становится намного дороже, когда набор записей слишком велик, чтобы поместиться в память.
Одним из возможных решений является сортировка входных данных во время их построения.Это можно сделать, добавив индекс к входной таблице, например:
create clustered index IX_YourTable_SortColumn on YourTable(SortColumn)
Если индекс не может быть кластеризован, используйте include
, чтобы добавить столбцы к отсортированному индексу:
create index IX_YourTable_SortColumn on YourTable(SortColumn)
include (col1, col2, col3)
Этот подход делает предыдущий шаг более дорогим и занимает больше места на диске, чтобы записи на диске были в правильном порядке.Вам нужно проверить, стоит ли компромисс.