Починайте з реального навантаження
Індекс не варто додавати лише тому, що окремий запит виглядає повільним у тестовій базі. Потрібно побачити його частоту, типові параметри, кількість рядків і конкуренцію з іншими операціями. План виконання слід знімати на обсязі даних, близькому до виробничого, адже мала таблиця може приховувати проблему або створювати хибну тривогу. Спочатку визначте, який час відповіді потрібен продукту, а тоді перевіряйте, чи саме доступ до даних є головним джерелом затримки.
Схожі індекси можуть дублювати роботу
З часом у таблиці накопичуються індекси, створені для окремих інцидентів і старих версій запитів. Два набори стовпців іноді частково перекриваються, але обидва продовжують оновлюватися після кожної зміни рядка. Перегляньте статистику використання за достатньо довгий період, включно з місячними звітами та рідкісними адміністративними задачами. Нульове використання ще не є автоматичним дозволом на видалення, проте це добра підстава знайти власника запиту й перевірити залежності. Рішення про індекс має відповідати довготривалій архітектурі даних, а його вплив потрібно враховувати під час перевірки готовності резервної копії до повного відновлення.
Вартість запису потрібно вимірювати окремо
Кожен індекс збільшує обсяг журналу транзакцій, тривалість масових оновлень і кількість даних у резервній копії. Для сервісу з частими вставками ці витрати можуть бути важливішими за виграш одного читання. Порівняйте швидкість запису до й після зміни на копії реального навантаження. Перевірте реплікацію та відновлення, адже додаткові сторінки потрібно передати, зберегти й повторно відтворити. Оптимізація запиту не повинна непомітно погіршувати весь життєвий цикл даних.
Обслуговування потребує регулярного рішення
Складіть короткий реєстр великих індексів: для якого запиту вони існують, хто відповідає за нього та коли користь перевіряли востаннє. Після зміни структури даних або профілю трафіку повертайтеся до цього списку. Видалення проводьте поетапно, з можливістю швидко відновити індекс і з метриками часу відповіді. Такий процес перетворює індекси з накопиченої спадщини на керований інструмент, користь якого можна пояснити й повторно перевірити.




Коментарі
Щоб залишити коментар, увійдіть через Google або Facebook.