/ / Індекс масиву mysql з 3 цілих полів - mysql

Вкажіть таблицю mysql з 3 цілих полів - mysql

У мене є таблиця MySQL 3 цілих полів. Жодне з полів не має унікального значення, але три з них є унікальними.

Коли я запитую цю таблицю, я шукаю лише за першим полем.

Який підхід рекомендується для індексування такої таблиці? Маючи первинний ключ з декількома полями на трьох полях або встановлюючи індекс на першому полі, який не є унікальним?

Дякую, Бар Doori

Відповіді:

2 для відповіді № 1

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


0 для відповіді № 2

Ви можете мати UNIQUE Constraint на трьох полях у поєднанні з вашими стандартами якості даних. Якщо ви в першу чергу здійснюєте пошук за полем Field1, ви повинні мати індекс на ньому.

Ви також повинні розглянути, як ви JOIN цієї таблиці.

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


0 для відповіді № 3

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

Хоча ви можете правильно замовити стовпці в PK або зробити індекс на першому стовпці кластерним для кращої ефективності. Порівняйте, як виконується запит (з наявним ПК) і з індексом і без нього в першому стовпці.


0 для відповіді № 4

Якщо ви використовуєте InnoDB, ви повинні мати кластеріндекс. Якщо ви не вкажете, MySQL так чи інакше буде використовувати один у фоновому режимі. Таким чином, ви можете також використовувати кластерний (унікальний) первинний ключ, поєднуючи всі три колонки.

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

Якщо ви повертаєте всі три цілі поля,тоді ви будете мати покритий індекс, що означає, що база даних навіть не доведеться торкатися фактичного запису. Він отримає все, що потрібно, безпосередньо з індексу.

Єдиним застереженням були б вставки (і додає). Оновлення кластерного індексу, особливо на кількох стовпцях, має певну ефективність. Вам доведеться перевірити і визначити найкращий підхід.