Индексация базы данных - как это работает?

то, как делает индексацию, увеличивает выполнение поиска данных?

Как индексация работ?

6
задан jai 2 June 2010 в 04:18
поделиться

4 ответа

Продукты баз данных (RDMS), такие как Oracle, MySQL, создают свою собственную систему индексирования, они дают некоторый контроль администраторам баз данных, однако никто точно не знает, что происходит на заднем плане, за исключением людей, проводящих исследования в этой области , так почему индексация:

Проще говоря, индексы базы данных помогают ускорить поиск данных . Другой большое преимущество индексов в том, что ваш серверу не нужно работать так усердно, чтобы получить данные. Они почти такие же в качестве книжных указателей, обеспечивая база данных с точками быстрого перехода на где найти полную ссылку (или найти строку в базе данных).

Существует множество методов индексирования, например:

  • Первичное индексирование, вторичное индексирование
  • B-деревья и варианты (B + -деревья, B * -деревья)
  • Хеширование и варианты (линейное хеширование, спиральное хеширование и т. Д.))

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

Alice
...
...
AZ...
Bob
Bri
...
Bza
...

Теперь у вас есть индекс в этом индексе, в котором вы храните только Алису и Боба и блоки, на которые они указывают, таким образом пользователи могут быстрее получить доступ к данным. RDMS занимается деталями.

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

Системы управления базами данных Ramakrishn CGherke

alt text

6
ответ дан 8 December 2019 в 17:19
поделиться

Как индекс в книге повышает легкость нахождения нужной страницы?

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

3
ответ дан 8 December 2019 в 17:19
поделиться

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

В кластеризованном индексе сами строки со всеми столбцами * хранятся вместе с индексом. Сканирование кластеризованных индексов лучше, чем сканирование некластеризованных непокрывающих индексов, поскольку требуется меньше операций поиска.

Покрывающий индекс - это когда для запроса требуются только столбцы, которые являются частью индекса, поэтому поиск в остальной строке не требуется (часто это хорошо для производительности).

* обычно исключая столбцы с большими двоичными объектами / длинным текстом и т. Д.

3
ответ дан 8 December 2019 в 17:19
поделиться

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

1
ответ дан 8 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: