Індекс вибірковість є ключовим фактором оптимізації продуктивності запиту SQL. Вона вимірює, наскільки добре індексні дані фільтрів, що впливають на швидкість відновлення даних. Розуміння та розрахунок індексної вибірки може допомогти адміністраторам бази поліпшити ефективність запитів, вибравши найбільш ефективні індекси.

Що таке Індекс вибірковість?

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

Розрахунок вибірковості індексу

Формула для вибірковості індексу є прямопередбачувана:

Селективність = Кількість унікальних значень / Загальна кількість руп]

Наприклад, якщо таблиця має 1000 рядків і стовпець з 900 унікальних значень, вибірковість становить 0,9, що вказує на високу ефективність індексації.

Приклад даних

Розгляд таблиці даних клієнтів з 10 000 рядків. Колонка "Коунтрія" містить 50 унікальних назв країни. Вибірковість:

0.005 = 50 / 10000

Ця низька вибіркованість дозволяє індексувати стовпець "Суспільний" може не істотно підвищити продуктивність запиту. Замість, фокусування на колонах з більш високою роздільною здатністю, як "Ідентифікатор користувача", який має 10 000 унікальних значень, буде вигідно.

Застосування для оптимізації запитів

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