При частому внесенні змін в таблицю БД індекси таблиці можуть бути розбалансованими. Тому час від часу необхідно виконувати одну із вказаних дій:
- виконувати перебудову індекса командою ALTER INDEX;
- знищити індекс командою DROP INDEX і заново створити його командою CREATE INDEX.
Синтаксис команди перебудови індексів такий:
ALTER INDEX <ім`я індекса>
Коли модифікується багато - декілька сотен (тисяч) рядків - і після модифікації кожного рядка перебудовуються всі індекси таблиці, час модифікації може бути на порядок (декілька порядків) більше часу модифікації рядків з неіндексованими стовпчиками. Тому перед модифікацією множини рядків таблиці доцільно знищити індекси її полів, що можна зробити за допомогою команди DROP INDEX (знищити індекс).
Синтаксис команди такий:
DROP INDEX <ім`я індекса>
Так як індекси можуть створюватися або знищуватися в любий час, то перед виконанням запитів доцільно будувати індекси лише для тих стовпчиків, які використовуються в фразах запиту WHERE і ORDER BY, а перед модифікацією великого числа рядків таблиць з індексованими стовпчиками ці індекси потрібно знищити.
Знищення індекса не змінює значення поля.
У FoxPro робота з індексами відрізняється від роботи з індексами у стандарті SQL.