Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Синтаксическая проверка хинтов (hint) / 4 сообщений из 4, страница 1 из 1
09.04.2018, 11:58
    #39627449
shurka22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая проверка хинтов (hint)
Коллеги, привет.

А нет ли у оракла синтаксической проверки хинтов? Чтобы оракл мне дал понять, что я какую-то чушь написал в хинтах, что там есть ошибки, и хинты гарантированно будут проигнорированы.
Ну вот например я пишу:
select /*+ index(tbl2 indx2) */ * from tbl1;
А оракл мне и говорит: я хинт "index(tbl2 indx2)" проигнорировал, так как в запросе не участвует таблица tbl2.

А на самом деле хочется бОльшего: чтобы оракл отчитывался, какой хинт он не проигнорировал, а применил. И если бы не хинт, то план запроса был бы другим.

Есть такое?

Ну и простой вопрос: можно ли ораклу в хинтах для одной таблицы указывать сразу 2 разных индекса? Не будет ли это ошибкой? Имеет ли смысл подобная конструкция? Ну например:
select /*+ index(tbl1 indx1) index(tbl1 indx2) */ * from tbl1;
...
Рейтинг: 0 / 0
09.04.2018, 12:33
    #39627471
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая проверка хинтов (hint)
shurka22,

Внизу сообщения 16304443 .
...
Рейтинг: 0 / 0
10.04.2018, 09:19
    #39627760
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая проверка хинтов (hint)
shurka22
Ну и простой вопрос: можно ли ораклу в хинтах для одной таблицы указывать сразу 2 разных индекса? Не будет ли это ошибкой? Имеет ли смысл подобная конструкция? Ну например:
select /*+ index(tbl1 indx1) index(tbl1 indx2) */ * from tbl1;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
INDEX

        Совет  INDEX  явно  выбирает  просмотр  индекса  для  доступа  к
        указанной таблице.  Синтаксис этого совета имеет следующий вид:

        ─────── INDEX(таблица ──┬────────────┬── ) ───────
                                └── индекс ──┘

        где:

        таблица         специфицирует имя или алиас таблицы, для которой
                        задается путь доступа через просмотр индекса.

        индекс          специфицирует ассоциированный с таблицей индекс,
                        по которому должен выполняться просмотр.

        Этот совет может специфицировать  ни одного, один  или  несколько
        индексов: 

            *  Если  этот  совет  специфицирует  единственный  доступный
               индекс,  то  оптимизатор  выполняет  просмотр  по   этому
               индексу.   Оптимизатор  не  рассматривает полный просмотр
               таблицы или просмотр по другому индексу для этой таблицы.

            *  Если этот совет специфицирует список доступных  индексов,
               то  оптимизатор  рассматривает  стоимость  просмотра   по
               каждому  из  индексов  в  списке,  после  чего   выбирает
               просмотр  с  наименьшей  стоимостью.   Оптимизатор  может
               также  выбрать  просмотр  нескольких  индексов  из  этого
               списка с последующим слиянием результатов, если этот путь
               доступа окажется  дешевле.  Оптимизатор  не рассматривает
               полный просмотр таблицы  или просмотр по  другим индексам
               для этой таблицы, не перечисленным в списке.

            *  Если этот  совет не  специфицирует ни  одного индекса, то
               оптимизатор рассматривает стоимость просмотра по  каждому
               из  доступных  индексов  по  таблице, после чего выбирает
               просмотр  с  наименьшей  стоимостью.   Оптимизатор  может
               также выбрать просмотр нескольких индексов с  последующим
               слиянием  результатов,  если  этот  путь доступа окажется
               дешевле.   Оптимизатор  не  рассматривает полный просмотр
               таблицы.

        Например,  рассмотрим  следующий  запрос,  который выбирает имя,
        рост и вес для каждого пациента мужского пола в больнице:
....

.......
stax
...
Рейтинг: 0 / 0
11.04.2018, 05:28
    #39628200
shurka22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксическая проверка хинтов (hint)
Stax
Код: plaintext
1.
2.
3.
4.
INDEX

        Совет  INDEX  явно  выбирает  просмотр  индекса  для  доступа  к
        указанной таблице.  Синтаксис этого совета имеет следующий вид:
.......
stax
О! Спасибо большое!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Синтаксическая проверка хинтов (hint) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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