|
|
|
Первое поле в составном индексе
|
|||
|---|---|---|---|
|
#18+
Если запрос WHERE a=1 AND b=2 С a=1 14 тыс. записей С b=2 3 тыс. записей То в составном индексе b надо вперёд ставить и делать запрос b=2 AND a=1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 10:06 |
|
||
|
Первое поле в составном индексе
|
|||
|---|---|---|---|
|
#18+
alfakukЕсли запрос WHERE a=1 AND b=2 С a=1 14 тыс. записей С b=2 3 тыс. записей То в составном индексе b надо вперёд ставить и делать запрос b=2 AND a=1? ничего не поменяется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 12:24 |
|
||
|
Первое поле в составном индексе
|
|||
|---|---|---|---|
|
#18+
alfakukЕсли запрос WHERE a=1 AND b=2 С a=1 14 тыс. записей С b=2 3 тыс. записей То в составном индексе b надо вперёд ставить и делать запрос b=2 AND a=1?Секцию WHERE переписывать не надо, в ней порядок предикатов ни на что не влияет. Порядок полей в индексе вообще значение имеет. Но в данном случае разница будет крайне невелика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 15:38 |
|
||
|
Первое поле в составном индексе
|
|||
|---|---|---|---|
|
#18+
alfakukЕсли запрос WHERE a=1 AND b=2 С a=1 14 тыс. записей С b=2 3 тыс. записей То в составном индексе b надо вперёд ставить и делать запрос b=2 AND a=1? для этого запроса - без разницы. а вообще, более селективное поле надо ставить раньше, если нет других соображений. это то, которому соответствует меньше записей на одно значение поля. тут - b. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 23:12 |
|
||
|
Первое поле в составном индексе
|
|||
|---|---|---|---|
|
#18+
MasterZivболее селективное поле надо ставить раньше, если нет других соображений.Имхо как раз если других соображений нет, то глубоко пофиг. Бо поиск индексный ведётся сразу по всему выражению, а не "сперва по префиксу, потом по остальной части". А случаи, когда в условиях, приводящих к использованию индекса, присутствует только одно из двух плей - это как раз "другие соображения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2016, 00:40 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39328574&tid=1831314]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
182ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 431ms |

| 0 / 0 |
