Задать вопрос
@CX0PS

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽