Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
А это нормально что при наличии индекса по полям A,B,C и условии A=x and B=y and C in (v1, v2) индекс не используется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2014, 04:54 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
Нет. Должен использовать (по первым 2 сегментам). Воспроизводится? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2014, 05:22 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
asviridenkov, DDL индекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2014, 05:43 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
Проверил. Используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2014, 10:17 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
kdvasviridenkov, DDL индекса? CREATE INDEX TICKETS_IDX2 ON TICKETS (PERFORMER_ID, PARENT_ID, STATE_ID); Не, там конечно есть еще индекс на PERFORMER_ID, PARENT_ID но почему этот не используется если в IN всего два значения. При разложении вручную через OR (всех условий) все отлично работает, но это же маразм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 01:55 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
asviridenkov, осталось теперь сопоставить PERFORMER_ID, PARENT_ID, STATE_ID и A, B, C из первого поста. asviridenkovно почему этот не используется если в IN всего два значения. на бумажке нарисуй значения таблицы, штук 5 столбцов. А потом подумай, как можно использовать индекс по этим данным и условию поиска. asviridenkovПри разложении вручную через OR (всех условий) все отлично работает, но это же маразм это не маразм, и такой топик тут уже был (про аналогичную ситуацию). И возможно даже, топик был твой. A=x and B=y and C in (v1, v2) = (A = x and B=y and C = v1) OR (A = x and B=y and C = v2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 02:06 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
asviridenkovПри разложении вручную через OR (всех условий) все отлично работает, но это же маразм это не маразм, и такой топик тут уже был (про аналогичную ситуацию). И возможно даже, топик был твой. A=x and B=y and C in (v1, v2) = (A = x and B=y and C = v1) OR (A = x and B=y and C = v2)[/quot] Ну я такое разложение и имел в виду, собственно. Если его явным образом писать, индекс используется и запрос работает на порядок быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 03:28 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
asviridenkov, насколько я помню тот топик, оптимизатор так разложить не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 04:08 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
asviridenkov, а индекса по столбцам A и B не хватает? прямо так сильно надо, чтобы и C использовался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 04:09 |
|
||
|
Индекс с IN
|
|||
|---|---|---|---|
|
#18+
kdvasviridenkov, а индекса по столбцам A и B не хватает? прямо так сильно надо, чтобы и C использовался? Прям так сильно, да. 15мс против 250. Есть разница? Суть в том, что распределение по значениям С очень неравномерное, 0 и 1 мало, а 2 много. И интересуют именно 0 и 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2014, 11:00 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38822277&tid=1563161]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
257ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 371ms |

| 0 / 0 |
