Коли слід уникати індексів SQL?

Індекси не слід використовувати в маленьких таблицях. Індекси не слід використовувати для стовпців, які повертають високий відсоток рядків даних, коли вони використовуються як умова фільтра в реченні WHERE запиту. Наприклад, у покажчику книги у вас не було б запису для слова "the" або "and".

Першим і, мабуть, найбільш очевидним недоліком додавання індексів є те, що вони займають додатковий простір для зберігання. Точний обсяг простору залежить від розміру таблиці та кількості стовпців в індексі, але зазвичай це невеликий відсоток від загального розміру таблиці.

Ви повинні використовувати індекс у стовпцях, які ви використовуєте для вибору та впорядкування – тобто пропозиції WHERE і ORDER BY. Індекси можуть уповільнити оператори select, якщо їх багато, і ви використовуєте WHERE і ORDER BY для стовпців, які не були проіндексовані.

Він також має різні недоліки та недоліки, наприклад додаткове використання дискового простору і низька продуктивність у модифікації даних під час використання операторів INSERT, UPDATE і DELETE. Для кластерного індексу не потрібен додатковий простір на диску, але некластерний індекс займає додатковий простір, оскільки зберігає окремо від таблиці.

Не існує «оптимальної» кількості індексів для таблиці. Кількість індексів повністю залежить від того, як ви надсилаєте запит до таблиці. Наявність невикористаних індексів витрачає дисковий простір і ресурси для підтримки індексу. А також час користувача під час вставки/оновлення/видалення.

Оцініть статтю