MySQL - Хороший Pratice: Стол с более чем одним индексом?

StackOverflow https://stackoverflow.com/questions/3700090

  •  02-10-2019
  •  | 
  •  

Вопрос

Извините все,

У меня есть этот мини-таблица с 3 столбцами, но я перечислю значения либо одним или другим столбцом.

1) Это нормально, чтобы иметь два из этих колонн с индексами?

2) Должны ли мы иметь только один индекс за стол?

3) На пределе, если у нас есть таблица с 100 столбцами, например, у нас есть 50 из них с индексами, это нормально?

Спасибо, мем

Это было полезно?

Решение

Хорошо иметь много индексов, даже несколько индексов на одной таблице, до тех пор, пока вы их используете.

Запустить объяснить свои запросы и проверьте, какие индексы используются. Если есть индексы, которые не используются любыми запросами, то они не дают вам никакой пользы и просто замедляются модификации таблицы. Эти неиспользуемые индексы должны быть удалены.

Вы также можете учитывать несколько индексов столбцов, если вы еще этого не сделали.

Другие советы

Чтобы быстро ответить на ваши вопросы, я думаю:

  1. Да, все в порядке иметь два или даже больше столбцов с индексами
  2. Не обязательно. Вы можете иметь более одного индекса на стол.
  3. Это может быть хорошо, это может быть не в порядке. Это зависит. Дело в том, что они принимают место (на диске), и они делают операции, которые изменяют ваши данные (INSERT / UPDATE / Delete) медленнее, поскольку для каждого и каждого из них будет таблица и Обновление индекса вовлечено.

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

Нет проблем с имеющим более одного индекса на таблицу, и нет, один индекс на таблицу не является ориентиром.

Слишком много индексов неэффективно, потому что

  • Это требует дополнительного хранения
  • MySQL должен определить, какой индекс использовать для конкретного запроса

Редактировать: Согласно Пабло и Марк, вам нужно понять как Ваши данные доступны для того, чтобы вы построили эффективные показатели. Затем вы можете уточнить и уменьшить индексы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top