powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
25 сообщений из 54, страница 2 из 3
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552101
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko> это не окончательный вариант, там ещё логика на гео координаты и языки будет.

Всё равно, эти танцы с Name, PostalCode и Null лишние. И вообще в коде

> if (I_POSTAL_CODE is not null and (Trim(I_POSTAL_CODE) = '')) then
> I_POSTAL_CODE = null;

первая проверка лишняя.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552201
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrMikhail Tchervonenkoа если с I_NAME передать строку 'Техт%' то по Вашему это другой запрос?
для оптимизатора - другой
Есть в планах в 4-ке научить, как c (... or :param is null) делать вариативный план?
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552214
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmЕсть в планах в 4-ке научить, как c (... or :param is null) делать вариативный план?
в тройке это УЖЕ ЕСТЬ. я же приводил пример - 20904144
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552215
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgm,

а, понял. про Like :param и like 'text%' ? Не знаю, может и можно.
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552231
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvafgm,

а, понял. про Like :param и like 'text%' ? Не знаю, может и можно.

да, с like заработавший с STARTING WITH код работать перестаёт.

Кстати, как кто выкручивается если переменная в запросе должна учавствовать только если её значение не null?
Ситуация то довольно частая.

в 2.5 прокатывало что то вроде (:PEREM is nill or (Field STARTING WITH :PEREM), и план работал нормально. В 3 ке, по крайней мере в этом примере план убивается.
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552244
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> а, понял. про Like :param и like 'text%' ? Не знаю, может и можно.

Не, он не про подстроку, он именно про "is null or".
Я точно помню, что то ли трекер, то ли ДЕ говорил,
что это то ли уже есть в тройке, то ли будет в 4-ке.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552250
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko> в 2.5 ... и план работал нормально.

Ну здрасьте... Как раз не работал нормально, индекс не юзался.

> В 3 ке, по крайней мере в этом примере план убивается.

Что-то неочевидно. Ты хоть бы планы привёл что ли...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552252
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoкак кто выкручивается если переменная в запросе должна учавствовать только если её значение не null?
а ведь папаша Дейт говорил, что null - зло.
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552287
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамMikhail Tchervonenko> в 2.5 ... и план работал нормально.

Ну здрасьте... Как раз не работал нормально, индекс не юзался.

> В 3 ке, по крайней мере в этом примере план убивается.

Что-то неочевидно. Ты хоть бы планы привёл что ли...

ну в 2.5 по крайней мере нигде не столкнулся с проблемой производителяности на таких запросах (равно как и не использования подходявых индексов)

А планы в случае внешних запросов я привёл выше. В случае запросов встроенных в процедуру, к стыду, признаюсь незнаю как выташить планы. IBExpert может для запросов из процедуры?
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552294
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvMikhail Tchervonenkoкак кто выкручивается если переменная в запросе должна учавствовать только если её значение не null?
а ведь папаша Дейт говорил, что null - зло.

ну в этом случае null для пустой строки.
Нужно для маски где поиск производится по нескольким полям. Если поле не заполнено по нему поиск не производится.
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552310
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko> ну в 2.5 по крайней мере нигде не столкнулся с ... не использования подходявых индексов)

Странный ты человек... Ну возьми создай табличку с одним полем
и сравни два запроса - select * from test where (name starting with :param)
и select * from test where (:param is null) or (name starting with :param)
И планы их сравни.

> А планы в случае внешних запросов я привёл выше.

Щас увидел. Но там всё равно ничего не очевидно.
Давно бы уже выкинул всё лишнее и привёл нормальный пример.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552335
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvafgm,

а, понял. про Like :param и like 'text%' ? Не знаю, может и можно.
Именно про такой случай.
Вообще интересно, от таких выкрутасов в большом количестве оптимизатор не сойдёт с ума?
Сейчас пока только два вида таких разветвлений, и в голову пока не приходит ничего подобного.
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552341
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамMikhail Tchervonenko> ну в 2.5 по крайней мере нигде не столкнулся с ... не использования подходявых индексов)

Странный ты человек... Ну возьми создай табличку с одним полем
и сравни два запроса - select * from test where (name starting with :param)
и select * from test where (:param is null) or (name starting with :param)
И планы их сравни.

> А планы в случае внешних запросов я привёл выше.

Щас увидел. Но там всё равно ничего не очевидно.
Давно бы уже выкинул всё лишнее и привёл нормальный пример.

меня от этого остановило незнание как инициализировать значение :param вне процедуры (в sql editor IBExpert) хотя сейчас запустил с :param без определения и инициализации param и ошибку не получил, сразу начался запрос. Не пойму, почему FB не выдал ошибку, откуда взялся этот param если я его не описывал и не инициализировал? Или это уже IBExpert подшаманил? Или param это ключевое слово о котором я незнаю? Где туплю? разрыв шаблона какой то ... :)
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552376
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoменя от этого остановило незнание как инициализировать значение :param вне процедуры (в sql editor IBExpert) хотя сейчас запустил с :param без определения и инициализации param и ошибку не получил, сразу начался запрос. Не пойму, почему FB не выдал ошибку, откуда взялся этот param если я его не описывал и не инициализировал? Или это уже IBExpert подшаманил? Или param это ключевое слово о котором я незнаю? Где туплю? разрыв шаблона какой то ... :)
Ты какие-то ужасные ужасы говоришь и спрашиваешь.
Жмёшь Ф9, появляется окно со списком параметров, вводишь
значения (или ставишь галочку Null), жмёшь кнопку Enter. Всё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552378
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или что ты путаешься спросить?
Как определяется тип параметра?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552394
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамИли что ты путаешься спросить?
Как определяется тип параметра?

где? в окне SQL Editor у IBExpress? Так там F9 это запуск на выполнение. А как определить параметр в процедуре я знаю и сам. Речь то о запросе выполняемом вне процедуры в окошке SQL Editor у IBExpert. План я вижу только в нём. Можно конечно и дедовским способом в isql или как он там зовётся, но там тоже как то надо этот параметр описать. Или мы говорим всё время о разном? например о окошке Procedure, тут F9 определяет параметры. Или в окошке Procedure можно запустить кусок кода и увидеть его план? Чем дальше в лес тем больше дров получается :)
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552402
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552410
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потому и спросил, откуда взялась эта переменнаь :PARAM если её нигде не определял. И почему запрос начал выполняться. По идее должен бал ругнуться типа неизвестная колонка PARAM или что то в этом роде
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552412
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko> в окне SQL Editor у IBExpress? Так там F9 это запуск на выполнение.

Правильно. После чего появляется окошко для
ввода значений параметров. Или у тебя не появляется?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552414
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёрт... Второй фейспалм за день...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552420
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамMikhail Tchervonenko> в окне SQL Editor у IBExpress? Так там F9 это запуск на выполнение.

Правильно. После чего появляется окошко для
ввода значений параметров. Или у тебя не появляется?

нет, не появляется
запрос выполняется как будто всё ок
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552422
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что возвращает ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552424
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу, ну ты фраер. У тебя же параметр нигде не задействован. Вообще.

Хотя и в этом случае должно появляться окно с запросом значения или
ошибка о неизвестном типе параметра.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552427
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

блин,
...
Рейтинг: 0 / 0
FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
    #39552433
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

но мог бы и ругнуться
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB3 Разная работа оптимизатора одного и того же запроса в процедуре и вне её
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]