Якщо часто доводиться шукати дані в таблиці Access або сортувати її записи за певним полем, виконання цих операцій можна прискорити, створивши індекс для поля. Індекси в таблиці Access використовуються подібно до книжкових покажчиків: під час пошуку даних програма Access шукає їхнє розташування в індексі. У деяких випадках, наприклад для первинного ключа, програма Access створює індекс автоматично. У решті випадків індекс можна створити самостійно.
У цій статті представлено індекси та описано, як визначити поля для індексування, а також як створити, видалити або змінити індекс. Тут також пояснюється, за яких умов програма Access автоматично створює індекси.
У цій статті
Примітка.: За допомогою описаних у цій статті методів не можна створити індекс для таблиці у веб-базі даних. Продуктивність веб-бази даних залежить від продуктивності кількох компонентів, зокрема сервера SharePoint, на якому розміщено веб-базу даних.
Відомості про індекс
Індекс дає змогу швидше шукати та сортувати записи в Access. В індексі зберігаються відомості про розташування записів з урахуванням поля або полів, вибраних для індексування. Після того як програма Access отримає дані про розташування з індексу, вона може видобути їх, перейшовши безпосередньо в потрібне розташування. Завдяки цьому використання індексу може займати набагато менше часу, ніж сканування всіх записів для пошуку даних.
Вибір полів для індексації
Ви можете створювати індекси на основі одного або кількох полів. Можливо, вам знадобиться індексувати поля, які ви часто шукаєте, сортуєте та з’єднуєте з полями в інших таблицях у кількох запитах таблиць. Індекси можуть прискорити операції пошуку й запити, але водночас зменшити продуктивність, коли ви додаєте або оновлюєте дані. Коли ви вводите дані в таблиці, яка містить одне або кілька індексованих полів, Access має оновлювати індекси після кожного додавання або змінення запису. Імовірно, записи додаватимуться за допомогою запиту на додавання або додаванням імпортованих записів повільніше, якщо кінцева таблиця містить індекси.
Примітка.: Первинний ключ таблиці індексується автоматично.
Не можна індексувати поля з типами даних "Об’єкт OLE", "Обчислюваний" або "Вкладення". Для інших полів можна застосовувати індексацію, якщо виконуються всі зазначені нижче умови.
-
Тип даних поля : "Короткий текст", "Довгий текст", "Число", "Дата й час", "Лічильник", "Грошова одиниця", "Так/Ні" або "Гіперпосилання".
-
Передбачається пошук значень, збережених у полі.
-
Передбачається сортування значень у полі.
-
Передбачається збереження багатьох різних значень у полі. Якщо в одному полі міститься багато однакових значень, можливо, індекс не впливатиме значною мірою на прискорення виконання запитів.
Індекси для кількох полів
Якщо ви вважаєте, що вам доведеться часто шукати або сортувати дані за двома або кількома полями одночасно, можна створити індекс для цієї комбінації полів. Наприклад, якщо ви часто вказуєте умови для полів "Постачальник" і "НазваПродукту" в одному запиті, доцільно створити індекс для обох цих полів.
Якщо ви сортуєте таблицю за індексом для кількох полів, Access спочатку сортує дані за першим полем, визначеним в індексі. Створюючи індекс для кількох полів, слід установити порядок полів. За наявності записів із повторюваними значеннями в першому полі програма Access здійснює подальше сортування за другим полем, визначеним в індексі, і так далі.
В індекс для кількох полів можна включити до 10 полів.
Створення індексу
Перш ніж створювати індекс, вирішіть, потрібно створити індекс для одного чи для кількох полів. Можна створити індекс для одного поля, установивши властивість Індексовано. У наведеній нижче таблиці перелічено можливі настройки для властивості Індексовано.
Настроювання властивості ''Індексовано'' |
Значення |
---|---|
Ні |
Не створюйте індекс у цьому полі (або видаліть наявний індекс) |
Так (повторення дозволені) |
Створіть індекс у цьому полі |
Так (без повторень) |
Створіть унікальний індекс у цьому полі |
Коли ви створюєте унікальний індекс, Access не дозволяє вводити нове значення в поле, якщо це значення вже є в такому самому полі в іншому записі. Програма автоматично створює унікальний індекс для первинних ключів, але, можливо, вам потрібно буде заборонити повторення значень в інших полях. Наприклад, можна створити унікальний індекс у полі, у якому зберігаються серійні номери, щоб два продукти не мали однакових серійних номерів.
Створення індексу для одного поля
-
В області переходів клацніть правою кнопкою миші ім'я таблиці, у якій потрібно створити індекс, а потім у контекстному меню виберіть пункт Конструктор.
-
Клацніть Ім'я поля поруч із полем, яке потрібно індексувати.
-
У розділі Властивості поля виберіть вкладку Загальні.
-
У властивості Індексовано виберіть значення Так (повторення дозволені), якщо потрібно дозволити повторення, або Так (без повторень), щоб створити унікальний індекс.
-
Щоб зберегти зміни, натисніть кнопку Зберегти на панелі швидкого доступу або натисніть сполучення клавіш Ctrl+S.
Створення індексу для кількох полів
Щоб створити індекс для кількох полів таблиці, потрібно додати рядок для кожного поля в індексі та ввести ім’я індексу лише в першому рядку. Програма Access розглядає всі рядки як складові одного індексу, доки не зустрічається рядок, який містить інше ім’я індексу. Щоб вставити рядок, клацніть правою кнопкою миші потрібне розташування, а потім у контекстному меню виберіть команду Додати рядки.
-
В області переходів клацніть правою кнопкою миші ім'я таблиці, у якій потрібно створити індекс, а потім у контекстному меню виберіть пункт Конструктор.
-
На вкладці Конструктор у групі Відобразити або приховати клацніть Індекси.
З'явиться вікно ''Індекси''. Змініть розмір вікна, щоб відобразити кілька пустих рядків і показати властивості індексу.
-
У стовпці Ім'я індексу введіть ім'я індексу в першому пустому рядку. Можна назвати індекс ім'ям одного з полів індексу або використати інше ім'я.
-
У стовпці Ім'я індексу клацніть стрілку, а потім виберіть перше поле, яке використовуватиметься в індексі.
-
У наступному рядку залиште стовпець Ім'я індексу пустим, а потім у стовпці Ім'я поля виберіть друге поле для індексу. Повторюйте цей крок, доки не виберете всі поля, які потрібно включити до індексу.
-
Щоб змінити порядок сортування значень поля, у вікні "Індекси" в стовпці Порядок сортування виберіть значення За зростанням або За спаданням. Стандартний порядок сортування – "За зростанням".
-
У вікні Індекси в розділі Властивості індексу вкажіть властивості індексу для рядка в стовпці Ім’я індексу, у якому зазначено ім’я індексу. Установіть властивості згідно з наведеною нижче таблицею.
Підпис
Значення
Первинний
Якщо Так, індекс – це первинний ключ.
Унікальний
Якщо Так, кожне значення в індексі має бути унікальне.
Пропустити значення Null
Якщо Так, записи зі значенням Null в індексованих полях виключаються з індексу.
-
Щоб зберегти зміни, натисніть на панелі швидкого доступу кнопку Зберегти чи натисніть клавіші Ctrl+S.
-
Закрийте вікно ''Індекси''.
Видалення індексу
Якщо ви вирішите, що індекс не потрібен або занадто сильно впливає на продуктивність, його можна видалити. При цьому буде видалено сам індекс, а не поле чи поля, у яких його створено.
-
В області переходів клацніть правою кнопкою миші ім’я таблиці, у якій потрібно видалити індекс, а потім у контекстному меню виберіть пункт Конструктор.
-
На вкладці Конструктор у групі Відобразити або приховати клацніть Індекси.
З'явиться вікно ''Індекси''. Змініть розмір вікна, щоб відобразити кілька пустих рядків і показати властивості індексу.
-
У вікні ''Індекси'' виберіть рядки, що містять індекс, який потрібно видалити, а потім натисніть клавішу Delete.
-
Щоб зберегти зміни, натисніть на панелі швидкого доступу кнопку Зберегти чи натисніть клавіші Ctrl+S.
-
Закрийте вікно Індекси.
Перегляд і змінення індексів
Перегляд індексів у таблиці може допомогти оцінити їхній вплив на продуктивність або переконатися в тому, що певні поля проіндексовано.
-
В області переходів клацніть правою кнопкою миші ім’я таблиці, у якій потрібно відредагувати індекс, а потім у контекстному меню виберіть пункт Конструктор.
-
На вкладці Конструктор у групі Відобразити або приховати клацніть Індекси.
З'явиться вікно ''Індекси''. Змініть розмір вікна, щоб відобразити кілька пустих рядків і показати властивості індексу.
-
Перегляньте й змініть індекси та їхні властивості відповідно до ваших потреб.
-
Щоб зберегти зміни, натисніть на панелі швидкого доступу кнопку Зберегти чи натисніть клавіші Ctrl+S.
-
Закрийте вікно Індекси.
Автоматичне створення індексу
У деяких випадках програма Access створює індекси автоматично. Наприклад, індекси автоматично створюються для будь-яких полів, визначених як первинний ключ таблиці.
Інше джерело автоматичного створення індексів – це параметр Автоіндексація під час імпортування/створення в діалоговому вікні Параметри Access. Програма Access автоматично індексує будь-які іменовані поля, які починаються або закінчуються символами, введеними в полі Автоіндексація під час імпортування/створення, наприклад ідентифікатор, ключ, код або номер. Щоб переглянути або змінити поточні параметри, зробіть ось що:
-
Клацніть Файл > Параметри.
-
Клацніть категорію Засоби конструювання об’єктів, а потім у розділі Конструктор таблиць додайте, змініть або видаліть значення в полі Автоіндексація під час імпортування/створення. Розділяйте значення крапкою з комою (;).
Примітка.: Якщо ім’я поля починається або закінчується значенням, указаним у полі, це поле індексується автоматично.
-
Натисніть кнопку OK.
Кожен додатковий індекс вимагає від програми Access виконання додаткової роботи, тому під час додавання або оновлення даних продуктивність знижується. Таким чином, можливо, потрібно буде змінити значення, відображені в полі Автоіндексація під час імпортування/створення, або зменшити їхню кількість, щоб скоротити кількість створюваних індексів.