Індекси істотно прискорюють процес пошуку й впорядкування записів таблиці. Якщо в операторі SELECT міститься елемент впорядкування ORDER BY, то у випадку, коли поля, що перелічуються, збігаються з визначеними в індексі, впорядкування буде використовувати цей індекс і відбудеться з малими витратами часу. У іншому випадку індекс використовуватися не буде й впорядкування зажадає більшого часу. Індекс буде використовуватися й у тому випадку, якщо в ORDER BY перераховані не всі поля індексу, а якісь перші з них. Наприклад, якщо створений індекс по полях ib1, ib2, іb3, то при виконанні запиту
SELECT ... ORDER BY ibl, ib2
індекс буде використовуватися, а запит
SELECT ... ORDER BY ibl, ib3
буде оброблятися без використання індексу.
Створення нового індексу здійснюється оператором CREATE INDEX:
CREATE INDEX <ім'я індексу> ON <ім'я таблиці > <список полів>
Наприклад:
CREATE INDEX depyear ON Pers Dep, Year_b
Видалення існуючого індексу здійснюється оператором DROP INDEX:
DROP INDEX <ім'я таблиці > <ім'я індексу>
Наприклад:
DROP Index Pers.depyear
Якщо таблиця багаторазово змінюється й до неї додається багато нових записів, індекси можуть виявитися розбалансованими і їхня ефективність при виконанні запитів зменшиться. У цьому випадку корисно проводити повторне створення і балансування індексу послідовним застосуванням операторів деактивации й активації:
ALTER INDEX <ім'я індексу> DEACTIVATE ALTER INDEX
< ім'я індексу> ACTIVATE
Перебудова індексу може здійснюватися тільки у випадку, якщо віну даний момент не використовується в запитах.