|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
Симонов Денисту уже определись тебе надо при использовании NULL показывать все записи или ни одной.Посмотри повнимательнее на условие в WHERE 20419222 . Если param1 IS NULL, будут выбраны все записи, если NOT NULL - только те, что соответствуют условию field1 = param1. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 15:42 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
Симонов Денися не разработчик но скажу. Нет не будет!Неужели так сложно научить NullIf() пользоваться индексом по полю таблицы, заданному в Expression2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 16:08 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
rdb_dev, а почему nullif? А чем другие функции провинились? Прочитай уже статью про методы доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 16:09 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
Симонов Дениса почему nullif? А чем другие функции провинились? Прочитай уже статью про методы доступаЕсли попутно Iif() научат, то я только за! Другие функции, использующие сравнение значений, как-то не всплыли в памяти. Они есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 16:12 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
rdb_devНеужели так сложно научить NullIf() пользоваться индексом по полю таблицы, заданному в Expression2 ?Ты ставишь телегу впереди лошади. Сначала нужно прочитать запись, а уже потом к ней можно применить ф-цию. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2017, 16:37 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
hvlad, телегу бы я ставил впереди лошади, если бы функции NullIf() и Iif() были реализованы отдельно от сервера - в виде UDF, к примеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 09:28 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
Симонов ДенисМимопроходящий, COALESCE забыл Код: sql 1. 2. 3. 4. 5.
В общем, удалось добиться нужного результата, но для этого понадобилось состряпать план запроса вручную , что-то типа этого: Код: sql 1. 2. 3. 4. 5.
В этом случае получаем оптимальное количество индексных чтений при любой комбинации параметров. Странно, что сервер самостоятельно не способен выбрать такой план. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 09:50 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
rdb_dev, план то кривой до безобразия. Он вообще неработоспособный. Что у тебя там за JOIN? С чем он? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 09:53 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
Симонов Денис, забыл удалить JOIN. В чем, конкретно, кривизна плана, если этот план работает лучше, чем тот, что предлагает сервер? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:02 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
rdb_devhvlad, телегу бы я ставил впереди лошади, если быу тебя была телега. И лошадь. Включи мозг и перестань болтать ерундой (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:20 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
kdvВ 3.0 на такие конструкции в плане выдается пара PLAN ... (table natural, table index (tableindex)) и "нужная часть плана выбирается в рантайме (при выполнении запроса)". А в RN от тройки явного упоминания именно такого поведения нет. Это вот оно? Firebird-3.0.2-ReleaseNotes.pdfOR'ed Parameter in WHERE Clause Dmitry Yemanov Performance for (table.field = :param or :param = -1) in the WHERE clause was enhanced ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:31 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
afgm, это оно и есть ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:33 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
rdb_dev, Вроде как не рекомендуется использовать свой PLAN. Firebird умнее нас, анализирует данные перед запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:36 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
KreatorXXI, обсуждаемый explain прост до безобразия. Что мешает тебе проверить своё утверждение? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 10:38 |
|
Как заставить FB использовать индекс
|
|||
---|---|---|---|
#18+
KreatorXXIВроде как не рекомендуется использовать свой PLAN. свой, не свой. Если явно указать план от 3.0 для 2.5, для этого случая, то ФБ 2.5 выматерится. Я же ясно объяснил, как "оптимизируется" данная ситуация. Хочется превратить 2.5 в 3.0? Увы, это можно сделать только установкой 3.0. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2017, 12:29 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561626]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 254ms |
0 / 0 |