powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Интилигентность оптимайзера, база без хинтов - реальность?
25 сообщений из 260, страница 10 из 11
Интилигентность оптимайзера, база без хинтов - реальность?
    #32540739
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
NewYear - just in case you know, is there TXSeries trial edition?
Could not find it. Guess is not. As well as a lot of other useful IBM software.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32540774
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот уж не знаю...
кстати, в пятой версии TXSeries, похоже, бага. мне так и не удалось связать TXSerie 5 и MQ, region не стартовал из-за XA Resource. c 4 все заработало.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32541475
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vc123: Ваши поправления сподвигли меня поднять архивы и почитать на выходных как-же работает DB2 в плане журналирования, за что вам отдельное спасибо. В DB2 как таковых явных UNDO данных нет. Все записи идут как REDO записи в том числе и записи откатов. Откаты записываются как СLR (Compensated Log Records) которые в обратном порядка перезаписывают измененные данные. Фактически на уровне журнала откат выглядит как "компенсирующая транзакция". Нашел в архивах ссылку на описание на интересно ARIES-RRH , читайте кому интересно.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32541828
vc123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To: Nikolay Kulikov

Unfortunately, you are confused a little bit.

1. When DB2 updates a page, it creates an update record in the transaction log. The record contains redo _and_ undo information.

2. The CLR record contains redo information only for partial or complete rollbacks.
In other words, when a rollback is performed, the previous change is undone (using the information from the undo part of the update record) and a CLR record is created containing only redo. The CLR record, therefore, cannot be used for rollbacks -- it's just additional redo for partial or complete rollbacks.

Strictly speaking, the CLR record is not required for recovery. It's used to enhance/improve recovery in the following ways:

o In the case of repeated crashes, the amount of logging is limited because DB2 does not need to undo what's already undone;
o makes possible nested top actions (B+ page split, etc.).


In short, DB2's redo/undo parts of the update record are logically equivalent to Oracle'a (and other DBs) redo/undo.

VC
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32543341
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Долго курил документацию http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001910.htm#HDRLOGHDR%5D%7C>]http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001910.htm#HDRLOGHDR]|> http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001910.htm#HDRLOGHDR" TARGET="_blank">документацию и Мохана и форум. Понял в чем же я тупил. Спасибо.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #32544853
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нам нужны тесты. Достаточно простые, чтобы их легко было устанавливать на сервера и проводить, а также портировать на другие базы данных, и в то же время похожие на реальные приложения.

Что-то типа такого: http://www.pcmag.com/article2/0,1759,4178,00.asp

Правда, приведенный именно по этой ссылке тест нехорош. Во-первых, к download'у предлагается неполный комплект, отсутствуют:
* application server
* тестовые данные
* клиентская часть (которая делает запросы к application server)
то есть вы не можете, выкачав тест и тут же его установить и прогнать.

Во-вторых, плохо написан. По крайней мере, с точки зрения Oracle - используется прямая подстановка параметров вместо биндинга, что есть смертный грех, как утверждает Кайт. В тесте отсутствует также поиск заголовков книг и имен авторов по шаблону, а есть только по строгому равенству (что глупо для веб-магазина с миллионами названий книг).

В-третьих, запросы слишком просты и потому с точки зрения сравнения оптимизаторов неинтересны.

Но как отправная точка тест может быть интересен. Данные можно сгенерировать, тест-приложение - модифицировать...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Интилигентность оптимайзера, база без хинтов - реальность?
    #35236067
V&B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
V&B
Гость
ViolinaСразу оговорюсь, что вопросы несколько поверхностные и утрированные. Я с DB2 совершенно не знакома, так что рассматривайте мой постинг как спортивный интерес новичка.

Пообщалась тут недавно с DB2-шником, который проявил интерес к Oracle. Я ему пару интересных штук по Oracle рассказала, он мне про DB2. Его впечатлила реализация механизма блокировок в Oracle, а меня механизм разбора
и оптимизации SQL выражений в DB2.

В частности, что в DB2 хинты отсутсвуют как класс. Факт, то что в Oracle производительность запроса можно увеличить в несколько раз с пом. хинтов, он считает вовсе не крутизной, а скорее кривизной. Вот его примерные слова:

"В DB2 не важно как ты напишешь запрос. Запросы оптимайзер преобразует в некий граф с оценкой по статистики, которая всегда поддерживается в актуальном состоянии, что позволяет выбрать оптимальный план. Таким образом в шаманстве по переписыванию запросов в их более оптимальные эквиваленты попросту нет необходимости. Нужно просто написать запрос на выборку нужных данных, а отимайзер преобразует его в оптимальный внутренний эквивалент."

Нечто вроде

Код: plaintext
1.
2.
Запрос (варинат  1 ) \
Запрос (варинат  2 ) - - > оптимальное внутреннее представление
Запрос (варинат  3 ) /

С моей стороны аргумент был, что разработчик иногда имеет больше информации, или она недоступна оптимайзеру, как лучше выбирать данные, и может указать на это с пом. хинтов.

Контраргументом был вопрос, как разработчик может знать состояние данных лучше, чем оптимайзер, если статистика всегда актуальна?

Итак, мои вопросы:

1) Буду признательна за интересные ссылки по механизму работы оптимайзера DB2 (только пожалуйста не на углубленную доскональную документацию).

2) Поделитесь впечатлениями по написанию SQL запросов. Дейсвительно вам совсем не приходится переписывать запросы?

3) Бывает ли такое, что оптимайзер заклинивает, и он упорно использует далеко не самый оптимальный план?

4) Слышала, что влиять на оптимайзер, можно с помощью правки статистики напрямую вручную (в Oracle есть нечто похожее optimizer_index_cost_adj). В принципе это тогда почти что тоже самое, что и хинты.

to NewYear

Рассчитываю на ваше участие:)Я тоже слышал, что DB2 быстрее Oracle работает, но не могу найти ссылку.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35236091
mitek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Смотрите на видео " : Восставшие из АДА 2008
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35456022
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mitek"Смотрите на видео " : Восставшие из АДА 2008

Ну, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35456206
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Author the new oneНу, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно.В db2, начиная с v8.2.2 появились OPTIMIZATION PROFILES .
По-моему, они гораздо удобнее, т.к. не надо код трогать.
Оно единствено где неудобно может быть, так это если приложение динамически запрос строит.
Но вот конструирование динамически запроса вместе с хинтом - это уже слишком высокое искусство программирования ИМХО...
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459069
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein Author the new oneНу, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно.В db2, начиная с v8.2.2 появились OPTIMIZATION PROFILES .
По-моему, они гораздо удобнее, т.к. не надо код трогать.

Это как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишь, и почему некий запрос работает так, а не эдак неочевидно совершенно. Это, как мне кажется, правильно: расстановка хинтов - дело не очень хорошее, и как всякое нехорошее дело должно требовать дополнительный усилий и быть максимально неудобным.

В оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459106
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Optimization profiles - аналог не только хинтов, но и stored outlines.

Что касается величины неудобства, то я согласен. (Все мои программы используют CLI и многие запросы строят динамически). Что касается того, что это хорошо... это вряд ли. Вот не было хинтов совсем (за исключением optimize for N rows) - тогда и правда было хорошо, можно было развести руками и сказать - "ничего сделать не могу" (шутка; всегда можно что-то сделать).
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459599
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Author the new oneЭто как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишьЗапрос пишется 1 раз по-хорошему и больше не переписывается, иначе вам пользователям вашей программы придется предоставлять исходники или еще как-нибудь давать возможность править ваши запросы. А это - большое зло.
Оптимизационные профили именно вот так просто и можно поправить, не трогая код - а это серьёзное преимущество при эксплуатации.
Author the new one, и почему некий запрос работает так, а не эдак неочевидно совершенно.Не понял. К хинтам это какое отношение имеет?
Author the new oneЭто, как мне кажется, правильно: расстановка хинтов - дело не очень хорошее, и как всякое нехорошее дело должно требовать дополнительный усилий и быть максимально неудобным.Иногда без этого не обойтись, либо весьма трудно обойтись.
Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно.
А при эксплуатации - очень неудобно.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459688
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein Author the new oneЭто как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишьЗапрос пишется 1 раз по-хорошему и больше не переписывается, иначе вам пользователям вашей программы придется предоставлять исходники или еще как-нибудь давать возможность править ваши запросы. А это - большое зло.
Оптимизационные профили именно вот так просто и можно поправить, не трогая код - а это серьёзное преимущество при эксплуатации.

Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.

Author the new one, и почему некий запрос работает так, а не эдак неочевидно совершенно.Не понял. К хинтам это какое отношение имеет?

Непосредственное. Вы смотрите на запрос, который ведет себя странно, делаете ему индекс, то-се, а он чхать на него хотел с прибором. Через два часа выясняется, что для него организован профайл. Смотрите на другой запрос с чудесами, еще два часа копаетесь в профайлах и ничего подходящего не находите... Оказывается, нет для него профайла, это он так, по случаю необычного распределения данных поехал.

Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно.
А при эксплуатации - очень неудобно.

Не знаю, не заметил.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459779
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new one
Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.

Что насчёт stored outlines и вьюшек *_outline_hints в Oracle?
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35459884
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Author the new oneИдеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.В DB2 это называется explain facility (по-простому - получение плана запроса).
В плане запроса, может, и не идеально, но достаточно подробно указывается как и что оно будет с запросом делать.
Насколько я знаю, и в других серверах это есть.
Author the new oneНепосредственное. Вы смотрите на запрос, который ведет себя странно, делаете ему индекс, то-се, а он чхать на него хотел с прибором. Через два часа выясняется, что для него организован профайл. Смотрите на другой запрос с чудесами, еще два часа копаетесь в профайлах и ничего подходящего не находите... Оказывается, нет для него профайла, это он так, по случаю необычного распределения данных поехал.В плане запроса указывается , используется профиль или нет.
Если не используется, то можно определить почему .
Чтобы не тратить по 2 часа на выяснение, есть ли профиль для этого запроса или нет, можно документировать создание профилей.
Профили часто могут не распознаваться оптимизатором из-за того, что они требуют полного case-sensitive совпадения с оригиналом (исключая разницы в лишних символах пробела, табуляции, новой строки).
Author the new one Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно.
А при эксплуатации - очень неудобно.Не знаю, не заметил.Конечно, пока вы и разработчик и пользователь - вы этого не заметите.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35460614
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa Author the new one
Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.

Что насчёт stored outlines и вьюшек *_outline_hints в Oracle?

Ну и где здесь запрос со вставленными хинтами? А нэту. Куда-то оно нагадило, оттуда и берет.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35460657
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein Author the new oneИдеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.В DB2 это называется explain facility (по-простому - получение плана запроса).
В плане запроса, может, и не идеально, но достаточно подробно указывается как и что оно будет с запросом делать.
Насколько я знаю, и в других серверах это есть.

Да не может быть. Да что ж это такое. Да я думал, что только мечта дегенерата - MySQL - так умеет. А скажите - я пытаюсь предвосхитить следующее пояснение - числа с плавающей точкой db2 тоже э-э-э умеет?

Mark Barinstein Author the new oneНепосредственное. Вы смотрите на запрос, который ведет себя странно, делаете ему индекс, то-се, а он чхать на него хотел с прибором. Через два часа выясняется, что для него организован профайл. Смотрите на другой запрос с чудесами, еще два часа копаетесь в профайлах и ничего подходящего не находите... Оказывается, нет для него профайла, это он так, по случаю необычного распределения данных поехал.В плане запроса указывается , используется профиль или нет.
Если не используется, то можно определить почему .
Чтобы не тратить по 2 часа на выяснение, есть ли профиль для этого запроса или нет, можно документировать создание профилей.
Профили часто могут не распознаваться оптимизатором из-за того, что они требуют полного case-sensitive совпадения с оригиналом (исключая разницы в лишних символах пробела, табуляции, новой строки).

Прелестно, да. Между прочим, умей db2 (oracle, sybase etc.) не делать всяких аутлайнов, а возвращать запрос, в котором каждый чих отхинтован - не было бы такой нежности. Но решили обойтись малой кровью.

Mark Barinstein Author the new one Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно.
А при эксплуатации - очень неудобно.Не знаю, не заметил.Конечно, пока вы и разработчик и пользователь - вы этого не заметите. Ну вот и ладушки. У меня своих проблем хватает, чтобы переживать за других. В конце концов - если уж приспичит - есть голодающие дети Африки, им похуже.

Вообще не очень понятно, что мне тут пытаются объяснить. Чисто пофлеймить? Тоже дело хорошее, в процессе конструктивного флейма обычно рассказывают очень интересные и в то же время не очень известные вещи; а вообще непонятен предмет дискуссии. Хинты в том или ином виде сделали не от хорошей жизни: в оракле cbo иногда промахивается, и иногда промахивается очень сильно. Причем иногда особенно невовремя; в результате я для ответственных запросов предпочитаю ручками указать, что и как делать, а не полагаться на авось оно не зачудит. По крайней мере мне не будут названивать в глухую пробку и торопить что есть сил. Аутлайны - это, конечно, хорошо, но хинты указать много удобнее. Как я понимаю, у db2 проблема аналогичная, иначе бы они аналогичный функционал бы не внедряли.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35460877
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Author the new oneВообще не очень понятно, что мне тут пытаются объяснить. Чисто пофлеймить?Я никогда не ввязываюсь в флеймы.
Практически все мои ответы - чисто технические.
Вероятно я не понял вашу фразу про оптимизатор: "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть" - я понял её как то, что вы не нашли, как пользоваться visual explain в db2. Такое иногда бывает, ничего необычного здесь нет.
Также я думал, что у вас технические проблемы с тем, чтобы понять, используется ли профиль или нет. А что я должен был подумать, когда вы говорите о часах, потраченных на выяснение этого?
Если вы всё это знаете - простите. Может, другие почитают эту ветку и найдут ссылки, приведенные здесь, полезными.
Author the new oneКак я понимаю, у db2 проблема аналогичная, иначе бы они аналогичный функционал бы не внедряли.Долгое время ibm говорило, что у нас, мол, оптимизатор и так хороший, нам не надо хинтов. Но, видимо, заказчики в конце концов их убедили в обратном.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35461661
Author the new one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinДолгое время ibm говорило, что у нас, мол, оптимизатор и так хороший, нам не надо хинтов.
И как Вы себе представляете обратное? "У нас оптимизатор отличный, но порой дурит, так что хинтов мы вам не дадим?" :-)

Mark BarinsteinНо, видимо, заказчики в конце концов их убедили в обратном.

Дык это ж абсолютно ясно. Судите сами: в тривиальном запросе

Код: plaintext
1.
2.
3.
4.
5.
6.
select t1.id from tbl1 t1, tbl t2 
  where 
        t1.col like '%пупкин%' 
  and t2.col='V1'
  and t1.id=t2.id
 optmize for  10  rows или как там в db2

я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35461861
чя321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
за запросы с %% яйца отстреливать надо.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35461889
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чя321за запросы с %% яйца отстреливать надо.
Э-э-э... не надо быть таким категоричным.

К тому же в примере вместо like мог быть запрос с параметром.
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35462254
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Author the new one
я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли.
А было такое, чтобы оптимизатор с соборанной статистикой, ошибался в селективности "пипкиных" и "V1"? Можете привести жизненный пример?
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35462257
Serg0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чя321за запросы с %% яйца отстреливать надо.
интересное заявление, а сравните-ка такое, например, для DB2 AS400 V5R2M0:
f1 like '%pupkin'
и
substr(f1, LENGTH(f1)-6, 6)='pupkin'
(и про RIGHT не вспоминайте - нету его. если не путаю, то только в V5R3M0 появился)
я уже молчу, про очевидные случаи, когда без like просто не обойтись
...
Рейтинг: 0 / 0
Интилигентность оптимайзера, база без хинтов - реальность?
    #35462458
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
riman Author the new one
я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли.
А было такое, чтобы оптимизатор с соборанной статистикой, ошибался в селективности "пипкиных" и "V1"? Можете привести жизненный пример?

Не, ну лучше было приводить пример типа
Код: plaintext
1.
2.
3.
4.
5.
select t1.id from tbl1 t1, tbl t2 
  where 
        t1.col = ? 
  and t2.col = ?
  and t1.id=t2.id
...
Рейтинг: 0 / 0
25 сообщений из 260, страница 10 из 11
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Интилигентность оптимайзера, база без хинтов - реальность?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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