Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Есть большая таблица с первичным ключом id, если выполнить запрос Код: plsql 1. , то он будет выполняться несколько секунд, но если разделить его на 2 запроса: Код: plsql 1. и Код: plsql 1. , то каждый из них будет отрабатывать за несколько миллисекунд. Судя по всему, в первом случае происходит полное сканирование индекса. В других БД, с которыми приходилось работать подобного не встречал. У кого-нибудь будут идеи, как проще всего направить оптимизатор на путь истинный? DB2 for Z/OS V10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2012, 15:09 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
ankalex, Нужно выполнить EXPLAIN для всех трех случаев и посмотреть результат. Для этого можно воспользоваться например IBM Data Studio. По результатам можно будет смотреть дальше. Возможно потребуется собрать определенную статистику (RUNSTATS) на таблицу. Tuning single SQL statements with the no-charge query-tuning features in the workflow assistant ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2012, 15:40 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
Статистика собрана. Через IBM Data Studio делал Start Tuning -> Generate Summary Report->Open Access Plan Graph), там видно, что Scanned Leaf Pages=Index Leaf Pages (=69672), т.е. сканируется весь индекс. В случае одной функции - Scanned Leaf Pages=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2012, 16:38 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
ankalex, А Statistics Advisor на этот SQL-оператор ничего не порекомендовал? Он иногда предлагает выполнить RUNSTATS с кучей опций, которые самостоятельно подобрать можно, но сложно. Да, не каждый RUNSTATS одинаково полезен. Такое поведение может быть и багом оптимизатора в версии 10. Можете попробовать открыть проблему в IBM Support. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2012, 17:22 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
Неа, ничего не порекомендовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2012, 08:12 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
ankalexУ кого-нибудь будут идеи, как проще всего направить оптимизатор на путь истинный? DB2 for Z/OS V10 Вероятно никак. В случае с одной функцией MIN или MAX используется One-fetch index access. Подробнее здесь: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.perf%2Fsrc%2Ftpc%2Fdb2z_onefetchaccess.htm One-fetch index access is a possible access path when: ... The query includes only one aggregate function (either MIN or MAX). ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2012, 10:11 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
ankalex, попробуйте вариант with t1(vmax) as (select max()...), t2(vmin) as (select min()...) select vmax,vmin from t1,t2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2012, 10:31 |
|
||
|
Min и Max в одном запросе
|
|||
|---|---|---|---|
|
#18+
with_ankalex, попробуйте вариант with t1(vmax) as (select max()...), t2(vmin) as (select min()...) select vmax,vmin from t1,t2 Или select * from (select min(id) from Table) a cross join (select max(id) from Table) b Но это несколько не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2012, 10:56 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=37983915&tid=1601553]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 166ms |

| 0 / 0 |
