Доброе время суток!
Имеется таблицу, которая содержит 160 полей, без внешних ключей
Количество строк - 1 миллион.
Нам необходимо сделать выборку по 14 полям от значения - до значения (поля не входят
в первичный ключ), причем количество и состав полей, участвующих в выборке могут меняться в зависимости
от установок пользователя. Сортировка выбранных записей тоже должна осуществляться по полям не входящим
в первичный ключ.
Например: пользователь может отправить запрос на выборку записей по: наименованию, № договора, дате
заключения договора, типу договора, сумме и т.п. с сортировкой по наименованию)
Посоветуйте, пожалуйста, как правильно построить индексы для этой таблицы для минимизации времени
выполнения этого запроса?
Заранее спасибо за ответ
Как правильно построить индексы?
Какая СУБД?
В Вашем случае не надо сразу делать индексы.
Надо собирать статистику запросов.
Нужно ответить на вопрос: "Какие поля чаще всего используются?" Например, поле "№ договора" используется в 30 запросах из 100, а поле "тип договора" только в 1 из 100.
Вот когда известна частота использования полей (и их комбинаций), то можно создавать индексы.
Не хотите долго ждать - спросите у конечных пользователей. Что чаще всего хотят использовать?
В Вашем случае не надо сразу делать индексы.
Надо собирать статистику запросов.
Нужно ответить на вопрос: "Какие поля чаще всего используются?" Например, поле "№ договора" используется в 30 запросах из 100, а поле "тип договора" только в 1 из 100.
Вот когда известна частота использования полей (и их комбинаций), то можно создавать индексы.
Не хотите долго ждать - спросите у конечных пользователей. Что чаще всего хотят использовать?