Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация
|
|||
|---|---|---|---|
|
#18+
Оптимизацией в ДБ2 доселе много не занимался, и этот запрос перевернул многое в моём понимании работы баз данных Есть сравнительно простой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Всего записей: document 6335842 document_task 43356203 task_status 7 План выполнения сделан в АкваСтудио и приатачен Индексы исползуемые при соединении: Код: plaintext 1. 2. Я решил попытаться сделать что-то получше вложенных циклов Сделал соединение document и document_task без поиска по датам - 72091 строк [Execution: 82156/ms] !!! Хотя стоимость при этом была за 900 тысяч!!! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Я создал пару индексов Код: plaintext 1. 2. 3. Хеш-джоин оказал по стоимости дороже нестед лупсов! Такое вижу впервые. Запрос с меньшим количеством условий выбирает всего 72к записей за 82 секунды, но потом эти записи фильтруются ещё одним условием и джоинятся к таблице из 7 записей 800 секунд!! Индексы прямо по условиям не подхватываются!! Какие будут ещё идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 17:36 |
|
||
|
Оптимизация
|
|||
|---|---|---|---|
|
#18+
mwolf, Для оптимизации, мы, обычно, сначала используем db2advis, который выдаёт рекомендации по созданию индексов. От этого начинается танец с бубном, особенно если запрос "кружевной". У меня готовые скриптики есть, может поможет: Код: plaintext 1. Код: plaintext В script.cpl надо положить Ваш запрос в чистом виде. Соединение с базой выполнит db2advis сам. На выходе в script_out.cpl Вы получите что то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Это и есть рекомендованные индексы. А в журнале (в начале файла), Вы увидите что то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Иногда бывает, что убрав один рекомендованный индекс получаем просто бешенное ускорение. Это и есть процесс оптимизации рекомендаций ;) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2009, 19:22 |
|
||
|
Оптимизация
|
|||
|---|---|---|---|
|
#18+
mwolf, Ну во первых используйте Join, а не знаю как вам а мне кажется ужасно неудобным все условия в одном месте. Во вторых Код: plaintext 1. 2. 3. Код: plaintext в третьих Код: plaintext в четвертых что за вложенные циклы? что то я их не вижу. В пятых Код: plaintext з.ы. Статистику я думаю вы посчитали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2009, 15:45 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=78&tid=1603169]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 182ms |

| 0 / 0 |
