powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите
10 сообщений из 10, страница 1 из 1
Помогите
    #32070565
Denis Tch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста, помогите..
Проблема: запрос
select .. --++ORDERED ...
Кто знает что такое ORDERED? Почему без него работает, а с ним нет.. Уже пробовал ряд средств. Если кто знает, скажите правильно или нет. И что еще можно попробовать, чтобы заработало ...
1) alter index .. rebuild
2) analyze index .. delete statistics
3) analyze index .. compute statistics
4) analyze table .. delete(compute) statictics
5) analyze table .. validate ref update
...
Рейтинг: 0 / 0
Помогите
    #32070579
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORDERED
The ORDERED hint causes Oracle to join tables in the order in which they appear in the FROM clause.

The syntax of this hint is:

/*+ ORDERED */

For example, this statement joins table TAB1 to table TAB2 and then joins the result to table TAB3:
Код: plaintext
1.
2.
3.
   SELECT  /*+ ORDERED */  TAB1.COL1, TAB2.COL2, TAB3.COL3
     FROM TAB1, TAB2, TAB3
    WHERE TAB1.COL1 = TAB2.COL1
         AND TAB2.COL1 = TAB3.COL1;



If you omit the ORDERED hint from a SQL statement performing a join, the optimizer chooses the order in which to join the tables. You may want to use the ORDERED hint to specify a join order if you know something about the number of rows selected from each table that the optimizer does not. Such information would allow you to choose an inner and outer table better than the optimizer could.
...
Рейтинг: 0 / 0
Помогите
    #32070586
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно у тебя опечатка:
select --+ ORDERED
tab1.col1, tab2.col2
from ...
+ - должен быть один
если использовать --+ ORDERED, то после --+ ORDERED в строке не должно быть ничего
...
Рейтинг: 0 / 0
Помогите
    #32070622
Denis Tch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. По поводу симантики ORDERED совершенно верно. Но что можно сделать чтобы работало?.. Заранее благодарен.
...
Рейтинг: 0 / 0
Помогите
    #32070708
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каком смысле?
Что запрос не выполняеться?
Вообще ORDERED не должен влиять на работоспособность запроса. Это подсказка стоимостному оптимизатору, и если она глючная, то Oracle ее игнорирует.
Можно погядеть на сам запрос целиком и на ошибку?
...
Рейтинг: 0 / 0
Помогите
    #32071087
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Славик: ORDERED -- это не подсказка для CBO. Оно было ещё до +RULE. И так же как --+RULE напрочь отбивает у Оракла интелект.

Хотя суть одна и та же -- это хинт, заставляющий использовать набор строго заданных правил.

2Denis Tch: Ты скорее всего окончания работы запроса не дождался (или получил что-то невразумительное типа snapshot too old). Совет: если можешь изменить запрос -- убери этот хинт на#$%! Если ничего не делал с OPTIMIZER_MODE, то должен отработать CBO и воспользоваться твоей статистикой...
...
Рейтинг: 0 / 0
Помогите
    #32071088
Denis Tch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Славик, к сожалению сам запрос страницы 2-3 формата А4 , зато ошибка очень прикольная.... В запросе без ORDERED все нормально. А вот с ORDERED вместо текста выдается псевдографика, причем почти каждый раз РАЗНАЯ...
...
Рейтинг: 0 / 0
Помогите
    #32071089
Denis Tch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vskv, а что можно сделать с OPTIMIZER_MODE?
Может ошибка в выдаче данных быть связана с моей статистикой? И если да, то как ее (статистику) перестроить или исправить?
...
Рейтинг: 0 / 0
Помогите
    #32071095
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версию сервера/клиента в студию! Опционально также NLS_LANG и все английские буквы/цифры из той псевдографики, что выдаются.

Что касается OPTIMIZER_MODE, то врядли ты правил init.ora или делал alter session set OPTIMIZER_MODE= ...
Т.о. без хинтов должен работать CBO, который судя по всему у тебя и включается. Да и статистика у тебя, судя по всему актуальная (иначе был бы вопрос, почему оно так долго делается).

А вообще, я думал, что достаточно внятно объяснил, что ни ORDERED, ни RULE статистику не используют.

Кстати, если не секрет, что это за приложение в котором запрос на два листа А4? Кто ж его такой сгенерил?
А если это творение исключительно рук человеческих и у него есть автор, то что он говорит про объём запроса и использование морально устаревшего хинта???
...
Рейтинг: 0 / 0
Помогите
    #32071170
Славик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2vskv: Виноват, исправлюсь! :-)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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