Должен ли я создать индекс по этим столбцам? - PullRequest
2 голосов
/ 12 мая 2011

У меня есть несколько столбцов в моей базе данных, в основном varchar 255s. Доступ к ним осуществляется только один раз, но они загружаются один раз на страницу загрузки / запроса для зарегистрированных пользователей. (В основном они содержат такие вещи, как настройки пользователя).

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

Ответы [ 4 ]

6 голосов
/ 12 мая 2011

Вам нужны только индексы для столбцов, которые используются для сортировки или поиска.

т.е.они появляются в предложениях JOIN, WHERE, HAVING, GROUP или ORDER BY.

Даже в этом случае это не является строго обязательным.

3 голосов
/ 12 мая 2011

Я думаю, что ответ зависит от того, используются ли столбцы только в выборках, или если они используются там, где предложения или объединения и другие операции сортировки / запроса.

Если в первом случае индексы отсутствуют, если последнее, то запросы будут быстрее с индексом (обычно)

3 голосов
/ 12 мая 2011

Ответ зависит от того, ..... посмотрите на план для ваших запросов, будет ли полезно добавлять индексы?

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

2 голосов
/ 12 мая 2011

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

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