Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
ВнизБудет ли задействован индекс... Найти похожие ветки
← →
tovSuhov (2002-02-21 12:08) [0]...который я создал для таблицы на основе трех полей, если в условии select`а я использую только два из них?
← →
Johnmen (2002-02-21 12:24) [1]Точный ответ знает только сервер, а для предположений надо почитать доку по Oracle.
← →
EAlexander (2002-02-21 13:02) [2]Будет, если в select они перечеслены также как и в индексе.
P.S. есть sql navigator for oracle, там есть нормальный анализатор, который показывает как будет выполняться запрос - просто и доступно.
← →
Внук (2002-02-21 13:41) [3]>>EAlexander © "Будет, если в select они перечеслены также как и в индексе"
Я бы не стал говорить так категорично. В первую очередь это зависит от подсказки оптимизатору (оптимизация по стоимости Cost или по правилам Rule, или, например, First Rows) и т.д. Проще всего в каждом конкретном случае посмотреть план запроса и не мучаться предположениями.
← →
EAlexander (2002-02-21 15:36) [4]>>Внук
я имел в виду стандартные настройки оптимизации (просто редко кто их меняет)
про хинты - я думаю автор не знает, что это такое, иначе не задовал бы такой попрос.
Оптимизацию по стоимости (вместе со сбором статистики) тоже лучше не использовать (она у Ora не самая сильная, просто кричали громко - про 9i не говорю - не пробовал), поскольку у разработчика м.б. одна база, а пользователя другая. надежней жестко прошивать через хинты, какие индексы лучше использовать.
p.s. чтобы ora работала всегда и быстро нужен грамотный админ, а иначе не угадаешь, что пользователю в голову предет.
А на счет плана - это верно. :)
НИКОГО НЕ ХОТЕЛ ОБИДЕТЬ.
← →
Внук (2002-02-21 15:49) [5]>>EAlexander
Согласен почти полностью, особенно насчет админа :)
Только вот насчет оптимизации по стоимости - были случаи, когда единственно это и спасало. Быстродействие повышалось в ДЕСЯТКИ (50-60) раз. Только проявляется это на ОЧЕНЬ больших базах.
← →
EAlexander (2002-02-21 16:09) [6]>>Внук
Про оптимизацию
1. В версии 7.хх ее не было
2. В версии 7.4.3 появилась, но ее использовать нельзя - сам Ora это говорил, но не открытым текстом
3. в версии 8 они ее доработали и собираются отказаться от оптимизации по правилам, но у них проблемы из-за этого в своих же разратотках.
4. IMHO, просто когда пишешь на своих данных - там есть статистика и все правильно работает, а у заказчика ее запустили полгода назад, она собрала ТЕ данные, а потом забывают обновлять. а прога работает дальше и ничего об этом не знает.
P.S. не люблю надеяться на то что за меня подумает Oracle как надо. как правило это так, но когда не так - билет в зубы и к заказчику (вся территория России). я конечно люблю путешествовать не за свой счет, но не до такой же степени. :)
← →
Desdechado (2002-02-22 10:41) [7]2 tovSuhov © (21.02.02 12:08)
вероятнее всего будет, за исключением, когда первым в индексе стоит поле, не используемое в этом запросе
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c