|
|
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
Oracle 8 Есть таблица с полем TIMESTAMP Есть два индекса normal "TIMESTAMP" и индекс на основе значения функции "TRUNC(TIMESTAMP)" запрос Select t.* From ORDHIST t Where t.TIMESTAMP between to_date('20160331','YYYYMMDD') and to_date('20160331235959','YYYYMMDDHH24MISS') выполняется с использованием индекса за 5 секунд запрос Select t.* From ORDHIST t Where trunc(t.TIMESTAMP)= to_date('20160331','YYYYMMDD') выполняется с полным сканированием таблицы за 3 минуты как "заставить" оптимизатор использовать индекс "TRUNC(TIMESTAMP)" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:11 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
P.S. hint Select --+ORDHIST NK_ORDHIST_TIMESTAMP_DAY не помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:18 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, через dbms_xplan, посмотри на "Predicate Information (identified by operation id)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:22 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
хм..хм.., Извините, можно поподробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:27 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuBP.S. hint Select --+ORDHIST NK_ORDHIST_TIMESTAMP_DAY не помогает а чем он должен помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:30 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, значения параметров OPTIMIZER_MODE, query_rewrite_enabled и query_rewrite_integrity покажи. ну и DDL индекса приведи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:41 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
DВА, https://docs.oracle.com/cd/B19306_01/server.102/b14211/hintsref.htm#i17496 16.1.2.2 Hints for Access Paths ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:44 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, а также информацию о наличии статистики по таблице и её индексам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:45 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, и где там хинт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:46 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuBDВА, https://docs.oracle.com/cd/B19306_01/server.102/b14211/hintsref.htm#i17496 16.1.2.2 Hints for Access Pathsну так и сверься - как требуется задавать хинт и как ты его написал.... где ключевое слово INDEX? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:48 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
хм..хм..CTmuB, через dbms_xplan, посмотри на "Predicate Information (identified by operation id)" DBMS_XPLAN.Examples это в восьмерке-то? а ничего, что dbms_xplan был "was introduced in Oracle 9i as a replacement for the "utlxpls.sql" " ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 17:52 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. Description Object owner Object name Cost Cardinality Bytes CPU cost Optimizer Operation Object type IO cost Time Temp space SELECT STATEMENT, GOAL = CHOOSE 97 036 420 441 26 067 342 CHOOSE SELECT STATEMENT TABLE ACCESS FULL LIORDER ORDHIST 97 036 420 441 26 067 342 ANALYZED TABLE ACCESS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:18 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
И сами индексы http://prntscr.com/gnj4b2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:22 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
[quot CTmuB] Код: plsql 1. 2. 3. 4. 5. детский сад какой-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:26 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
Select --+ INDEX(NK_ORDHIST_TIMESTAMP_DAY) t.* From ORDHIST t Where --t.TIMESTAMP between to_date('20160331','YYYYMMDD') and to_date('20160331235959','YYYYMMDDHH24MISS') trunc(t.TIMESTAMP)= to_date('20160331','YYYYMMDD') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:26 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
[quot DВА]CTmuB Код: plsql 1. 2. 3. 4. 5. детский сад какой-то :) ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:31 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, с OPTIMIZER_MODE понятно. а как насчет Добрый Э - Эхзначения параметров query_rewrite_enabled и query_rewrite_integrity покажи.??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:34 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, Это параметры инстанса.... Смотреть в unit.ora надо. Ну или запросим к вьюге v$parameter... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:47 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
как оптимизатор перекорежило лишь бы ваш индекс не использовать )) он вообще валидный? попробуйте так, фиг знает эту восьмерку trunc(TIMESTAMP)=... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:49 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, http://prntscr.com/gnjhec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:49 |
|
||
|
Использование индекса
|
|||
|---|---|---|---|
|
#18+
CTmuB, попробуй для начала в своей сессии выполнить команды: alter session set query_rewrite_enabled = true; alter session set query_rewrite_integrity = trusted; после чего - попробуй выполнить свой запрос к таблице с FBI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2017, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39523921&tid=1885223]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 498ms |

| 0 / 0 |
