@CX0PS

Нужно ли создавать индекс для каждой колонки?

Добрый день, хотел бы узнать как правильно создавать индексы для таблицы sqlite?
Нужно создавать для каждой колонки свой индекс или можно объединить все колонки по которым будет одиночный поиск и создать один индекс?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Нет. Чем больше индексов, тем медленнее работают DML-запросы и больше размер базы. Подбор правильных индексов - это тонкое искусство выбора инженерных компромиссов, требующее глубокого понимания принципов работы реляционных баз данных и сценариев работы системы с данными.
Ответ написан
Комментировать
@deliro
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Нужно создавать для каждой колонки свой индекс

Нет. Индекс создается под конкретный запрос. И то создание индекса должно быть доказуемо эффективным.
Делаешь семействое бенчмарков без индекса. Меряешь. Потом с индексом. И не забывай про эффект прогрева.

Если ты решил потратить всю "прокрастинацию" на индексы - то это bad way. Индексы занимают полезное место
на диске и в памяти и как верно заметили выше - еще и замедляют DML операции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы