Зміст:
Визначення - Що означає індекс (IDX)?
У системах баз даних індекс (IDX) - це структура даних, визначена на стовпцях таблиці бази даних, щоб значно прискорити операції пошуку даних. Індекс - це невелика копія таблиці бази даних, відсортованої за ключовими значеннями. Без індексу мови запитів, такі як SQL, можливо, доведеться сканувати всю таблицю зверху вниз, щоб вибрати відповідні рядки.
Техопедія пояснює індекс (IDX)
Індекс на таблиці бази даних повинен бути створений обережно, оскільки індекси споживають простір і зберігаються в базі даних. Індекс також може призвести до того, що операції запису займуть більше часу, оскільки індекс повинен бути оновлений при оновленні базової таблиці.
Різні структури даних, які використовуються для створення індексів, - це B + дерева, збалансовані дерева та хеші. Використовуючи ці структури даних, сканування всієї таблиці баз даних відносно просте.
Індекси також можна створювати за функціями або виразами. Унікальний індекс запобігає дублюванню записів в індексі та відповідній таблиці, виконуючи таким чином обмеження. Порядок стовпців також є важливим аспектом індексації. Перший індексований стовпець завжди має пріоритет; Ідентифікатори рядків отримують на основі перших індексованих стовпців. У звичайному сценарії індекси не повертають значення, а лише знаходять записи.
Зазвичай існує два типи архітектури індексу:
- Кластерні індекси: Кластеризовані індекси зберігають дані про рядки в порядку. У таблиці бази даних може бути створений лише один кластерний індекс. Це працює ефективно лише в тому випадку, якщо дані сортуються у порядку зростання та зменшення або встановлено обмеження у стовпцях, що містяться в таблиці. Таке послідовне розташування даних на дисках зменшує зчитування блоків.
- Некластеризовані індекси: У некластеризованих індексах дані розташовуються випадковим чином, але логічне впорядкування внутрішньо визначається індексом. Таким чином, порядок індексів не такий, як фізичний упорядкування даних. Оператор "create index" створює некластеризований індекс за замовчуванням, який також створює кластерний індекс в первинному ключі. Індексні клавіші тут сортуються за допомогою аркуша, що містить вказівник на сторінку. Некластеризовані індекси добре працюють з таблицями, де дані часто змінюються і індекс створюється на стовпцях, що використовуються в порядку заяв WHERE і JOIN.