
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.04.2003, 16:22
|
|||
|---|---|---|---|
Пробиться хинтом сквозь вьюшку |
|||
|
#18+
Почитал один топик, насчёт того, что имя таблицы в хинте должно появляться именно в таком виде, как оно указано в FROM. Т.е. если там алиас, то в хинт идёт алиас.\r \r Теперь вопрос -- а если у меня в FROM стоит выборки из представления?\r То есть, есть view типа\r Код: plaintext 1. 2. 3. 4. и есть запрос \r Код: plaintext 1. 2. 3. \r Вопрос -- что нужно указывать в хинте: A, C, SOME_TABLE или SOME_TABLE_R.\r Сколько пробовал -- у меня на 8.1.7.4.0 на HP-UX при указании в хинте "C" индекс используется, а у клиента, на 8.1.7.4.0, но Солярисе, всё сваливается на HASH_JOIN и выбирает совершенно непрогнозируемый набор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.04.2003, 16:59
|
|||
|---|---|---|---|
Пробиться хинтом сквозь вьюшку |
|||
|
#18+
Маленькое допонение: Индекс st_ind1 по CENTRE + CRD_F. Оба поля VARCHAR, но содержат только цифры. Сортировка идёт по CENTRE, CRD_F , а не просто по CRD_F. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.04.2003, 18:25
|
|||
|---|---|---|---|
|
|||
Пробиться хинтом сквозь вьюшку |
|||
|
#18+
Zapros bydet razvernut:: SELECT * FROM ( SELECT CENTRE, CRD_F, FIELD1, ... FROM SOME_TABLE ST WHERE CENTRE IN (SELECT CENTRE FROM CENTRE_USERS WHERE CU=USERNAME)) C WHERE C.CENTRE = 'AAAA' AND C.CRD_F>= :d2 ORDER BY CRD_F; Poetomy logichnei sdelat':: SELECT /*+ LEADING ( SOME_TABLE) PUSH_SUBQ INDEX(SOME_TABLE, st_ind1)*/ C.* FROM SOME_TABLE_R C WHERE C.CENTRE = 'AAAA' AND C.CRD_F>= :d2 ORDER BY C.CRD_F; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2003, 02:45
|
|||
|---|---|---|---|
Пробиться хинтом сквозь вьюшку |
|||
|
#18+
(В сторону) ... мой русский становится всё ужасней и ужасней :) 2 Oracle X-pert: Спасибо за объяснение. Единственное, я не совсем понял, а зачем ему PUSH_SUBQ -- план в обоих случаях (с ним и без) был одинаковым... Впрочем, в приложении всё решили другим путём -- прижали через +RULE и всё тоже заработало как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1990800]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 462ms |

| 0 / 0 |
