|
|
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
голосую: убить. (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:18:46 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, Нет. На реальной БД данных может быть больше. Я видел неоднократно в продакшн-коде, что многие избавляются от IN в запросах (методом декомпозиции, который я привел в примере) с целью подхватывания в план более быстрого индекса. Когда я спрашивал "Зачем?", мне так и ответили - "Чтобы выборка осуществлялась по хорошим индексам". И я хочу разобраться, действительно ли имеет смысл так делать, или ничего критичного в том, чтобы оставлять IN как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:20:22 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
Hello, Interloper! You wrote on 19 июня 2014 г. 12:23:06: Interloper> я хочу разобраться, действительно ли имеет смысл так делать, или ничего > критичного в том, чтобы оставлять IN как есть. не нужно ремонтировать то, что исправно функционирует. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:24:54 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
InterloperИ я хочу разобратьсяТот, кто хочет разобраться, приводит воспроизводимые примеры. Это совет на будущее, ибо с 1.5 разбираться будут уже только археологи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:30:34 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
Interloperа не по индексу (F1,F2) с лучшей селективностью? потому что WHERE F1 IN (:V11,:V22) AND F2 = :V2 это WHERE ((F1 = :V11) OR (F1=:V22)) AND F2 = :V2 и никакая "лучшая селективность" тут не поможет. Если у тебя разница в запросах 0мсек, то налей уж пару миллионов записей, чтобы разницу можно было оценить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:34:18 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
Если в следующем посте ТС-а не будет конкретного воспроизводимого примера, топик будет закрыт как не информативный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:36:15 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
Interlopero_v_a, Как объяснить то, что в запросе Код: sql 1. 2. при построении плана сначала учитывается индекс по внешнему ключу (поле F3), а не по индексу (F1,F2) с лучшей селективностью? Потому что селективность (F1, F2) умножается на 2 и становится больше чем (F3). Оптимизатор - он умный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 12:40:24 |
|
||
|
Оптимизация запроса с выражением in
|
|||
|---|---|---|---|
|
#18+
kdvInterloperа не по индексу (F1,F2) с лучшей селективностью? потому что WHERE F1 IN (:V11,:V22) AND F2 = :V2 это WHERE ((F1 = :V11) OR (F1=:V22)) AND F2 = :V2 и никакая "лучшая селективность" тут не поможет.+1 строить индекс отдельно на F1 и уже тогда будет о чём поговорить, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2014, 08:54:37 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38674150&tid=1563508]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 459ms |

| 0 / 0 |
