|
отказ оптимизатора от специальной стратегии OR
|
|||
---|---|---|---|
#18+
Привет всем. Прошу посмотреть и высказать своем мнение по поводу следующего поведения оптимизатора. Сервер: Adaptive Server Enterprise/12.5.4/EBF 14065 ESD#3/P/Sun_svr4/OS 5.8/ase1254/2030/64-bit/FBO/Sat Oct 14 07:19:31 2006 Преистория: От одного замечательного приложения приходит запрос, который однажды начал "тормозить" После исследования выяснилось странное поведение оптимизатора, которое можно воспроизвести с помощью примера расписанного ниже. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Далее выполним следующий запрос: Код: 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.
План запроса и статистика: Код: 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.
Теперь добавляем в IN еще одно значение: Код: 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.
План запроса и статистика: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Есть идеи почему оптимизатор отказывается от специальной стратегии OR? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2011, 20:14 |
|
отказ оптимизатора от специальной стратегии OR
|
|||
---|---|---|---|
#18+
SQLMantis, Вполне ожидаемое поведение! Судя по плану, полный table scan стоит 127 чтений, а выбранная стратегия OR при 31-ом значении в IN, стоит больше. Это легко проверить, указав в запросе с 31-значением хинт индекса Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2011, 15:03 |
|
|
start [/forum/topic.php?fid=55&msg=37523000&tid=2010215]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 264ms |
0 / 0 |