LINUX.ORG.RU

Какой выбрать индекс для двух полей БД.

 


0

1

В таблице есть два поля. Первое содержит группу второго, второе содержит группу всех остальных полей. Например:

SELECT ... ORDER BY А, Б;
______________
| А | Б | Остальные
_____________
| 1 | 1 | ...
| 1 | 1 | ...
| 1 | 2 | ...
| 1 | 2 | ...
| 1 | 3 | ...
| 1 | 3 | ...
| 2 | 1 | ...
| 2 | 1 | ...
| 2 | 2 | ...
| 2 | 3 | ...
| 3 | 1 | ...
| 3 | 1 | ...
Выборка происходит иной раз по (А,Б), а иной раз и по (А).

Вопрос, какой индекс лучше выбрать, составной по (А,Б) или отдельный для каждого поля?

ПС. если имеет значение, бд mysql.

★★

A+B достаточно, потому что А - это первое поле в составном индексе. Если бы искалось по B - тогда был бы нужен отдельный индекс, или перестроить первый как B+A

anonymous
()

Зависит распределения данных , количества и оптимизатора, его настроек и еще 1000 и одного фактора

ukr_unix_user ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.