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

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

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

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽