Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 11:52 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
вот уж не знаю... кстати, в пятой версии TXSeries, похоже, бага. мне так и не удалось связать TXSerie 5 и MQ, region не стартовал из-за XA Resource. c 4 все заработало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 12:09 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
vc123: Ваши поправления сподвигли меня поднять архивы и почитать на выходных как-же работает DB2 в плане журналирования, за что вам отдельное спасибо. В DB2 как таковых явных UNDO данных нет. Все записи идут как REDO записи в том числе и записи откатов. Откаты записываются как СLR (Compensated Log Records) которые в обратном порядка перезаписывают измененные данные. Фактически на уровне журнала откат выглядит как "компенсирующая транзакция". Нашел в архивах ссылку на описание на интересно ARIES-RRH , читайте кому интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 17:09 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 06:06 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Долго курил документацию 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">документацию и Мохана и форум. Понял в чем же я тупил. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 17:37 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Нам нужны тесты. Достаточно простые, чтобы их легко было устанавливать на сервера и проводить, а также портировать на другие базы данных, и в то же время похожие на реальные приложения. Что-то типа такого: http://www.pcmag.com/article2/0,1759,4178,00.asp Правда, приведенный именно по этой ссылке тест нехорош. Во-первых, к download'у предлагается неполный комплект, отсутствуют: * application server * тестовые данные * клиентская часть (которая делает запросы к application server) то есть вы не можете, выкачав тест и тут же его установить и прогнать. Во-вторых, плохо написан. По крайней мере, с точки зрения Oracle - используется прямая подстановка параметров вместо биндинга, что есть смертный грех, как утверждает Кайт. В тесте отсутствует также поиск заголовков книг и имен авторов по шаблону, а есть только по строгому равенству (что глупо для веб-магазина с миллионами названий книг). В-третьих, запросы слишком просты и потому с точки зрения сравнения оптимизаторов неинтересны. Но как отправная точка тест может быть интересен. Данные можно сгенерировать, тест-приложение - модифицировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 14:50 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
ViolinaСразу оговорюсь, что вопросы несколько поверхностные и утрированные. Я с DB2 совершенно не знакома, так что рассматривайте мой постинг как спортивный интерес новичка. Пообщалась тут недавно с DB2-шником, который проявил интерес к Oracle. Я ему пару интересных штук по Oracle рассказала, он мне про DB2. Его впечатлила реализация механизма блокировок в Oracle, а меня механизм разбора и оптимизации SQL выражений в DB2. В частности, что в DB2 хинты отсутсвуют как класс. Факт, то что в Oracle производительность запроса можно увеличить в несколько раз с пом. хинтов, он считает вовсе не крутизной, а скорее кривизной. Вот его примерные слова: "В DB2 не важно как ты напишешь запрос. Запросы оптимайзер преобразует в некий граф с оценкой по статистики, которая всегда поддерживается в актуальном состоянии, что позволяет выбрать оптимальный план. Таким образом в шаманстве по переписыванию запросов в их более оптимальные эквиваленты попросту нет необходимости. Нужно просто написать запрос на выборку нужных данных, а отимайзер преобразует его в оптимальный внутренний эквивалент." Нечто вроде Код: plaintext 1. 2. С моей стороны аргумент был, что разработчик иногда имеет больше информации, или она недоступна оптимайзеру, как лучше выбирать данные, и может указать на это с пом. хинтов. Контраргументом был вопрос, как разработчик может знать состояние данных лучше, чем оптимайзер, если статистика всегда актуальна? Итак, мои вопросы: 1) Буду признательна за интересные ссылки по механизму работы оптимайзера DB2 (только пожалуйста не на углубленную доскональную документацию). 2) Поделитесь впечатлениями по написанию SQL запросов. Дейсвительно вам совсем не приходится переписывать запросы? 3) Бывает ли такое, что оптимайзер заклинивает, и он упорно использует далеко не самый оптимальный план? 4) Слышала, что влиять на оптимайзер, можно с помощью правки статистики напрямую вручную (в Oracle есть нечто похожее optimizer_index_cost_adj). В принципе это тогда почти что тоже самое, что и хинты. to NewYear Рассчитываю на ваше участие:)Я тоже слышал, что DB2 быстрее Oracle работает, но не могу найти ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 15:07 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
"Смотрите на видео " : Восставшие из АДА 2008 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2008, 15:14 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
mitek"Смотрите на видео " : Восставшие из АДА 2008 Ну, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2008, 16:57 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new oneНу, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно.В db2, начиная с v8.2.2 появились OPTIMIZATION PROFILES . По-моему, они гораздо удобнее, т.к. не надо код трогать. Оно единствено где неудобно может быть, так это если приложение динамически запрос строит. Но вот конструирование динамически запроса вместе с хинтом - это уже слишком высокое искусство программирования ИМХО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2008, 17:53 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein Author the new oneНу, тем не менее, сухой остаток: хинты в db2 есть, и гораздо более неудобные, чем в Oracle. Это, наверное, и правильно.В db2, начиная с v8.2.2 появились OPTIMIZATION PROFILES . По-моему, они гораздо удобнее, т.к. не надо код трогать. Это как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишь, и почему некий запрос работает так, а не эдак неочевидно совершенно. Это, как мне кажется, правильно: расстановка хинтов - дело не очень хорошее, и как всякое нехорошее дело должно требовать дополнительный усилий и быть максимально неудобным. В оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2008, 22:24 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Optimization profiles - аналог не только хинтов, но и stored outlines. Что касается величины неудобства, то я согласен. (Все мои программы используют CLI и многие запросы строят динамически). Что касается того, что это хорошо... это вряд ли. Вот не было хинтов совсем (за исключением optimize for N rows) - тогда и правда было хорошо, можно было развести руками и сказать - "ничего сделать не могу" (шутка; всегда можно что-то сделать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2008, 22:54 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new oneЭто как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишьЗапрос пишется 1 раз по-хорошему и больше не переписывается, иначе вам пользователям вашей программы придется предоставлять исходники или еще как-нибудь давать возможность править ваши запросы. А это - большое зло. Оптимизационные профили именно вот так просто и можно поправить, не трогая код - а это серьёзное преимущество при эксплуатации. Author the new one, и почему некий запрос работает так, а не эдак неочевидно совершенно.Не понял. К хинтам это какое отношение имеет? Author the new oneЭто, как мне кажется, правильно: расстановка хинтов - дело не очень хорошее, и как всякое нехорошее дело должно требовать дополнительный усилий и быть максимально неудобным.Иногда без этого не обойтись, либо весьма трудно обойтись. Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно. А при эксплуатации - очень неудобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 11:01 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein Author the new oneЭто как раз феерически неудобно: запрос в одном месте, хинты в другом, вот так вот просто не поправишьЗапрос пишется 1 раз по-хорошему и больше не переписывается, иначе вам пользователям вашей программы придется предоставлять исходники или еще как-нибудь давать возможность править ваши запросы. А это - большое зло. Оптимизационные профили именно вот так просто и можно поправить, не трогая код - а это серьёзное преимущество при эксплуатации. Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере. Author the new one, и почему некий запрос работает так, а не эдак неочевидно совершенно.Не понял. К хинтам это какое отношение имеет? Непосредственное. Вы смотрите на запрос, который ведет себя странно, делаете ему индекс, то-се, а он чхать на него хотел с прибором. Через два часа выясняется, что для него организован профайл. Смотрите на другой запрос с чудесами, еще два часа копаетесь в профайлах и ничего подходящего не находите... Оказывается, нет для него профайла, это он так, по случаю необычного распределения данных поехал. Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно. А при эксплуатации - очень неудобно. Не знаю, не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 11:24 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new one Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере. Что насчёт stored outlines и вьюшек *_outline_hints в Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 11:45 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new oneИдеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере.В DB2 это называется explain facility (по-простому - получение плана запроса). В плане запроса, может, и не идеально, но достаточно подробно указывается как и что оно будет с запросом делать. Насколько я знаю, и в других серверах это есть. Author the new oneНепосредственное. Вы смотрите на запрос, который ведет себя странно, делаете ему индекс, то-се, а он чхать на него хотел с прибором. Через два часа выясняется, что для него организован профайл. Смотрите на другой запрос с чудесами, еще два часа копаетесь в профайлах и ничего подходящего не находите... Оказывается, нет для него профайла, это он так, по случаю необычного распределения данных поехал.В плане запроса указывается , используется профиль или нет. Если не используется, то можно определить почему . Чтобы не тратить по 2 часа на выяснение, есть ли профиль для этого запроса или нет, можно документировать создание профилей. Профили часто могут не распознаваться оптимизатором из-за того, что они требуют полного case-sensitive совпадения с оригиналом (исключая разницы в лишних символах пробела, табуляции, новой строки). Author the new one Author the new oneВ оракле хинты расставляются очень легко и удобно, что провоцирует не разбираться, а по-быстрому указать хинт и не морочить себе голову.Согласен, что для разработчика - очень удобно. А при эксплуатации - очень неудобно.Не знаю, не заметил.Конечно, пока вы и разработчик и пользователь - вы этого не заметите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 12:08 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Author the new one Ну, начнем с того, что я и писатель, и пользователь в одном лице, так что для меня это, например, не критично. Во-вторых, основная причина профилей, как мне кажется - нежелание разработчиков вносить всякие штуки-бяки в парсер, и потом их годами поддерживать. Идеальной - раз уж мы связались с хинтами - была бы фича сервера "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть". Такой функционал, насколько мне известно, не реализован ни в одном сервере. Что насчёт stored outlines и вьюшек *_outline_hints в Oracle? Ну и где здесь запрос со вставленными хинтами? А нэту. Куда-то оно нагадило, оттуда и берет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 14:56 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
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 проблема аналогичная, иначе бы они аналогичный функционал бы не внедряли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 15:09 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new oneВообще не очень понятно, что мне тут пытаются объяснить. Чисто пофлеймить?Я никогда не ввязываюсь в флеймы. Практически все мои ответы - чисто технические. Вероятно я не понял вашу фразу про оптимизатор: "давай мне запрос, возможно, с твоими хинтами, я тебе сейчас отдам такой же, но расхинтованный во всех подробностях, как я его буду делать, с учетом твоих хинтов, если они есть" - я понял её как то, что вы не нашли, как пользоваться visual explain в db2. Такое иногда бывает, ничего необычного здесь нет. Также я думал, что у вас технические проблемы с тем, чтобы понять, используется ли профиль или нет. А что я должен был подумать, когда вы говорите о часах, потраченных на выяснение этого? Если вы всё это знаете - простите. Может, другие почитают эту ветку и найдут ссылки, приведенные здесь, полезными. Author the new oneКак я понимаю, у db2 проблема аналогичная, иначе бы они аналогичный функционал бы не внедряли.Долгое время ibm говорило, что у нас, мол, оптимизатор и так хороший, нам не надо хинтов. Но, видимо, заказчики в конце концов их убедили в обратном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 16:15 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinДолгое время ibm говорило, что у нас, мол, оптимизатор и так хороший, нам не надо хинтов. И как Вы себе представляете обратное? "У нас оптимизатор отличный, но порой дурит, так что хинтов мы вам не дадим?" :-) Mark BarinsteinНо, видимо, заказчики в конце концов их убедили в обратном. Дык это ж абсолютно ясно. Судите сами: в тривиальном запросе Код: plaintext 1. 2. 3. 4. 5. 6. я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 23:39 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
за запросы с %% яйца отстреливать надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 08:28 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
чя321за запросы с %% яйца отстреливать надо. Э-э-э... не надо быть таким категоричным. К тому же в примере вместо like мог быть запрос с параметром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 08:46 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
Author the new one я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли. А было такое, чтобы оптимизатор с соборанной статистикой, ошибался в селективности "пипкиных" и "V1"? Можете привести жизненный пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 10:55 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
чя321за запросы с %% яйца отстреливать надо. интересное заявление, а сравните-ка такое, например, для DB2 AS400 V5R2M0: f1 like '%pupkin' и substr(f1, LENGTH(f1)-6, 6)='pupkin' (и про RIGHT не вспоминайте - нету его. если не путаю, то только в V5R3M0 появился) я уже молчу, про очевидные случаи, когда без like просто не обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 10:56 |
|
||
|
Интилигентность оптимайзера, база без хинтов - реальность?
|
|||
|---|---|---|---|
|
#18+
riman Author the new one я могу знать, что %пупкиных% в t1 для тех t2, у которых col='V1' как грязи и начинать надо с t2, а вот, скажем, %пипкиных% у меня, наоборот, с гулькин нос и начинать надо с t1. Этот пример первое, что пришло в голову; очень странно, что это само собой разумеющееся соображение столь упорно отрицалось. Кстати, от него еще более успешно отмахивается постгрес, что наводит на нехорошие мысли. А было такое, чтобы оптимизатор с соборанной статистикой, ошибался в селективности "пипкиных" и "V1"? Можете привести жизненный пример? Не, ну лучше было приводить пример типа Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 11:32 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35462254&tid=1603768]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 346ms |

| 0 / 0 |
