2010-10-12 2 views
2

Я сделал приложение для Windows, и мне нужно добавить «сортировку» по выбранному столбцу. В сетке есть 4 столбца и много записей (выложены, разумеется).Сортировка базы данных SQL Server

Возникает вопрос:

Если я считаю, добавить индекс для каждого столбца, который нужно сортировочного в сетке?

спасибо в авансах.

С уважением

ответ

3

Да - рассмотрите возможность добавления индексов.

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

+0

Нет, для индексирования больших таблиц не улучшается сортировка. Полное сканирование лучше, чем сканирование индексов + полное сканирование. – iddqd

+1

@iddqd - Индексы улучшают сортировку. Индексы предварительно отсортированы, что позволяет избежать необходимости сортировки всей таблицы по требованию. –

+0

@ Martin Smith INDEXes бесполезны для больших таблиц (базы данных OLTP). Если у вас много запросов DML, затраты на обслуживание очень высоки. Если INDEX превышают ограничение по размеру, случайное считывание убивает каждый сервер. Вы можете попробовать http://www.codeproject.com/kb/aspnet/PagingLarge.aspx, но я на 100% уверен, что в определенный момент время подкачки будет расти до очень больших значений. – iddqd

1

выбор индекса зависят от множества факторов, включая частоту запросов вставки/обновления/удаления по сравнению с частотой выборочных запросов. Индексы могут помощь с ORDER BY, и четыре индекса могут быть не слишком плохими для производительности в противном случае, но это действительно зависит от того, что вы пытаетесь выполнить.

Смежные вопросы