Сортировка очень большого объема данных в SQL Server 2005 - PullRequest
0 голосов
/ 21 марта 2012

У меня есть пакет служб SSIS, в котором я сортирую 30 миллионов записей.Но это занимает так много времени.Есть ли эффективный способ сортировки большого количества данных?Память в накопителе меньше по сравнению с данными ....

Ответы [ 2 ]

0 голосов
/ 25 марта 2012

Сортировка в службах SSIS ужасно медленная при работе с большими наборами данных. Если вам нужна сортировка в службах SSIS, вам следует подумать о разработке собственного компонента сортировки или о стороннем, например NSort .

.
0 голосов
/ 21 марта 2012

Сортировка становится намного дороже, когда набор записей слишком велик, чтобы поместиться в память.

Одним из возможных решений является сортировка входных данных во время их построения.Это можно сделать, добавив индекс к входной таблице, например:

create clustered index IX_YourTable_SortColumn on YourTable(SortColumn)

Если индекс не может быть кластеризован, используйте include, чтобы добавить столбцы к отсортированному индексу:

create index IX_YourTable_SortColumn on YourTable(SortColumn)
    include (col1, col2, col3)

Этот подход делает предыдущий шаг более дорогим и занимает больше места на диске, чтобы записи на диске были в правильном порядке.Вам нужно проверить, стоит ли компромисс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...