Комментарии 7
Очень и очень поверхностное описание. Многие вещи можно и нужно смотреть глубже. Только в качестве такого же поверхностного примера, тот же full table scan может и должен быть в некоторых случаях, и когда предикат присутсвует в индексе, но использование индекса неэффективно. Причём алгоритмы расчёта эффективно-неэффективно, правила расчёта cost-a (для CBO) меняются не то что от версии к версии, но и на уровне под-версий и даже патч-сетов. По этой теме крайне рекомендую почитать книгу Jonathan Lewis «CBO fundamentals»
+3
Да, вы правы, я описал методы доступа, не особенно вдаваясь в детали. Касательно того, что «если Х — CBO выберет метод Y» — не совсем справедливо — добавлю дисклеймер, спасибо.
0
Ну книга Кайта — это, конечно, классика. Но всё таки больше рассматриваются вопросы проектирования приложения и кода. А та книга, что я упомянул (http://www.amazon.com/books/dp/1590596366) — вся посвящена именно принципам работы CBO. Пошагово, кусочек за кусочком, как оракл считает cardinality, selectivity… cost с разными методами доступа, вплоть до формул расчёта коста для разных индексов (b-tree, bitmap), для разного вида предикатов, наборов предикатов итд итп. После её прочтения у меня очень сильно изменился уровень понимания процесса оптимизации запроса. Не поленюсь ещё раз написать, что крайне её рекомендую для прочтения тем, кто заинтересован данной темой.
+1
Согласен, если бы ее еще преобрести было так же просто, в печатке
0
Ну, вообще то, не так уж сложно. У меня была бумажная с русским переводом даже…
Но я предпочитаю английскую версию (ну очень как то меня напрягает читать техническую литературу на русском в последнее время), потому пришлось найти оригинал. На английском, в бумажном виде, у нас, конечно, сложнее найти.
Но я предпочитаю английскую версию (ну очень как то меня напрягает читать техническую литературу на русском в последнее время), потому пришлось найти оригинал. На английском, в бумажном виде, у нас, конечно, сложнее найти.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Методы доступа к данным в Oracle