|
|
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
Почему FORALL DELETE FROM может не использовать индекс? Есть таблица с индексом по ID Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. На таблицу собрана статистика Код: plsql 1. 2. 3. 4. В коде пакета есть удаление Код: plsql 1. 2. Это удаление пораждает запрос Код: plsql 1. 2. У запроса вот такой план, где видно что идет FULL SCAN и никакой индекс не используется. Код: sql 1. 2. 3. 4. Вся процедура висит из-за этого. Как заставить использовать индекс? Или почему он может не использоваться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 23:52 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
сколько строк-то в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 04:13 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
alex-lsсколько строк-то в таблице?Судя по cost=2 около нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 06:46 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
MinistrBob Код: plsql 1. Кого пытаешься запутать? - Себя? Oracle? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 07:26 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
-2-Судя по cost=2 около нуля. да я сам понимаю, просто хотел намекнуть автору ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 07:42 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
-2-alex-lsсколько строк-то в таблице?Судя по cost=2 около нуля. Всего 150 000 000 строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 08:26 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
ElicMinistrBob Код: plsql 1. Кого пытаешься запутать? - Себя? Oracle? Спасибо за намёк. Я как раз пытаюсь распутать, код не я писал :) Заменил IN на = и все взлетело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 08:28 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
MistrBlob, а на access/filter predicates можно глянуть? Мой оптимизитор, как и ожидалось, сам преобразует такой предикат в условие равенства. Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 09:14 |
|
||
|
Почему FORALL DELETE FROM может не использовать индекс?
|
|||
|---|---|---|---|
|
#18+
AmKadMistrBlob, а на access/filter predicates можно глянуть? Мой оптимизитор, как и ожидалось, сам преобразует такой предикат в условие равенства. Код: plsql 1. 2. 3. 4. 5. 6. 7. План хороший, для такого запроса, но реальный запрос такого плана не имеет. Да ладно, уже руками поправил. Самое интересное это Windows 11.2.0.4, а до этого процедура работала на AIX 11.2.0.4 там всё было хорошо. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2019, 22:20 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1882329]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 377ms |

| 0 / 0 |
