Что, если более 20 000 страниц книг не имеют оглавления? Затем вам придется пройти все 20 000 страниц от начала до конца, чтобы получить страницу, которую вы ищете.

Чтобы предотвратить эту неэффективность, мы поместили оглавление в начале книги, чтобы мы могли получать информацию там, где нам нужно. Индекс базы данных действует как оглавление в книге.

Другими словами, индексы — это структуры данных (дерево B), которые помогают быстро искать нужные данные.

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

Когда вы создаете индекс в определенном столбце (поле), вы сортируете данные в этом столбце и сохраняете их с физическим адресом в отдельном пространстве памяти.

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

Что значит использовать индексы? Раньше при создании индекса вы сортировали данные в этом столбце и сохраняли их в отдельной области памяти с физическим адресом.

Таким образом, вы можете перейти к физическому адресу данных, которые предварительно хранятся в памяти, получить данные и ускорить поиск.

Так же, как вы смотрите на оглавление книги и видите, что нужная вам информация находится в Модуле 5, и сразу расширяете Модуль 5, не расширяя Модули с 1 по 4, вы можете быстро найти физический адрес данных, а также извлечь и импортировать их. данные.

Преимущество

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

Как улучшить скорость поиска? Например, вы хотите найти SELECT с запросом WHERE.

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

Чтобы найти данные, соответствующие условиям WHERE, вы должны прочитать записьот начала до конца и сравнить ее на соответствие условиям (это называется Таблица полного сканирования). .

С другой стороны, проиндексированные таблицы отсортированы, поэтому вы можете быстро найти данные, соответствующие условиям WHERE.

В дополнение к предложению WHERE предложение ORDER BY уже отсортировано по индексу, поэтому вам просто нужно получить уже отсортированные данные, не выполняя процесс сортировки, что еще больше повышает производительность.

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

Недостаток

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

Если значения данных в записи изменяются с помощью инструкций INSERT, UPDATE, DELETE, все значения в индексной таблице должны быть пересортированы.

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

Для управления индексом требуется дополнительное пространство для хранения, эквивалентное примерно 10% базы данных, поэтому случайное добавление индексов может значительно снизить производительность базы данных.

Заключение

  • Индекс — это структура данных для ускорения поиска данных в таблице.
  • Данные, хранящиеся в индексе, хранятся в отсортированном состоянии.
  • Это подходит, когда данные в таблице много просматриваются и мало вставляются, удаляются или изменяются.
  • Таблицы, которые часто вставляются, удаляются и изменяются, неэффективны, поскольку необходимо повторно использовать сохраненные индексные таблицы.
  • Для управления индексами требуется примерно 10 % дискового пространства базы данных, поэтому важно правильно его использовать.

Присоединяйтесь к FAUN: Сайт💻|Подкаст🎙️|Twitter🐦|Facebook👥 |Instagram📷|Группа Facebook🗣️|Группа Linkedin💬| Slack 📱|Cloud Native Новости📰|Дополнительно.

Если этот пост был полезен, пожалуйста, несколько раз нажмите кнопку аплодисментов 👏 ниже, чтобы выразить свою поддержку автору 👇