|
|
|
mat view
|
|||
|---|---|---|---|
|
#18+
все привет, собсна кто может помочь или подсказать каким образом можно избавиться от фулл скана в мат вью? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. query rewrite поможет в этом случаи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 08:45:19 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Cydia, Ты думаешь тебе возможно что-то дельное подсказать только по плану, что ты выложил? Вангую... построить индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 10:07:30 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Alex__kK, сам запрос Код: plsql 1. 2. 3. пробывал создать индекс на поле NAMELIKE - безрезультатно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 11:40:16 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Alex__kK, а вот сама мат вьющка create materialized view MV_STAT refresh fast on commit as select ID, '% '||UPPER(LONGNAME)||' %' as NAME4LIKE from names; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 11:42:45 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Cydiaпробывал создать индекс на поле NAMELIKE - безрезультатно Может лучше так? Код: plsql 1. 2. 3. 4. 5. Но с %, судя по вопросу и запросу, может все равно не подхватить индекс ) Да и вообще эта мвью нужна ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 12:13:48 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Avotge, оператор like не транзитивен. ТС, есть ли в поле LONGNAME из names символы '_' и '%'? Какова логика параметра "&B1" и поля LONGNAME? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 12:25:06 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Лично для меня немного странно хранить % в поле имени. Также, думаю, индекс не сработает в случае, если с обеих сторон в LIKE стоит %. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 12:39:40 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Не понятноAvotge, оператор like не транзитивен. Да все тут и ежу понятно ) Ну не будет же работать индекс если в Like '%' в самом начале, а он здесь в самом начале (или я что-то пропустил в школе )). Т.е. ТС похоже хочет сначала по лайку имени отобрать ID-шники, а потом по ним достать записи, но делает все имхо с полным не пониманием сути поиска по Like как минимум. Да и нужна ли вообще такая матвью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 12:41:14 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Avotge, Если % только в начале, можно еще попробовать REVERSE INDEX. Мне на практике не доводилось пользоваться, но разве не решит проблему LIKE % с одной стороны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 12:45:25 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Opus Magnum, про план никто и ни слово не сказал) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 13:00:01 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
CydiaOpus Magnum, про план никто и ни слово не сказал) План у тебя отличный! Где такой достал? Дай попробовать :)) на что ты собсно жалуешься? у тебя идет поиск подходящего шаблона для параметра. Никакой индекс с таким не справится. Поэтому FULL ACCESS по MV тут обеспечен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 13:22:11 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Не понятно, ну тогда помогите решить этот вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 13:54:13 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
CydiaНе понятно, ну тогда помогите решить этот вопрос) Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 15:51:15 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Cydiaну тогда помогите решить этот вопрос) Троллишь либо? ) Объясни по порядку исходную задачу и логику твоих запросов и индексов, особенно с условием Like ) Потом объясни почему ты считаешь, что по твоему запросу должен подхватиться индекс по NAMELIKE, если ты по нему не фильтруешь. Посмотри на два плана запроса Код: plsql 1. и Код: plsql 1. В первом случае индекс подхватится, во втором (в твоем варианте, скорее, что нет) Потом возьми этот же первый запрос, но процент поставь впереди Код: plsql 1. Потом почитай про SQL книжко, потом про индексы и про реверсивный тоже, потом про like отдельно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 17:22:28 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
ORA__SQL Код: plsql 1. Я в толковании sql-планов не силен. Но интересно. Что означает "карта=89"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2016, 20:34:15 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Не понятно, тоже очень интересно, можете объяснить что значит карт=89? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 06:24:23 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Avotge, ни в одном из приведенных примеров индекс не подхватился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 08:03:02 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
AvotgeCydiaну тогда помогите решить этот вопрос) Троллишь либо? ) Объясни по порядку исходную задачу и логику твоих запросов и индексов, особенно с условием Like ) Потом объясни почему ты считаешь, что по твоему запросу должен подхватиться индекс по NAMELIKE, если ты по нему не фильтруешь. Посмотри на два плана запроса Код: plsql 1. и Код: plsql 1. В первом случае индекс подхватится, во втором (в твоем варианте, скорее, что нет) Потом возьми этот же первый запрос, но процент поставь впереди Код: plsql 1. Потом почитай про SQL книжко, потом про индексы и про реверсивный тоже, потом про like отдельно ) задача состоит в том что в параметр P мы можем передать не только ФИО, но и текст поэтому структура такая запроса, допустим : '9 ИВАН ходит' я так понимаю тут ничего не придумать и сделать, будет всегда фулл скан. Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 08:08:45 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Cydia, сначала нужно выяснить, что ты хранишь в поле NAMELIKE, а уже потом, что передаешь в подстановочной переменной. Которую, кстати, лучше сделать параметром. Есть у тебя в NAMELIKE символы шаблона кроме первого и последнего '%'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 08:34:07 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
Cydia, может Oracle text спасет отца русской демократии? ) Хотя там с русским не все гладко вроде как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 10:01:50 |
|
||
|
mat view
|
|||
|---|---|---|---|
|
#18+
А по ID ничего не отфильтруется? Индекс есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2016, 15:18:29 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39319546&tid=1887326]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 436ms |

| 0 / 0 |
