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