Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Избыточная сортировка при MERGE JOIN
|
|||
|---|---|---|---|
|
#18+
Решил тут посравнивать алгоритмы соединения MERGE JOIN vs HASH JOIN. По идее MERGE JOIN должен иметь преимущество когда потоки уже отсортированы по полям соединения. Но как оказалось FB не умеет распознавать когда потоки уже отсортированы Примеры в 2.5 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext хорошо попытаемся вырубить навигацию по индексу Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext как видим всегда происходит повторная сортировка, хотя она по идее уже не нужна. В тройке спровоцировать MERGE сейчас вообще не возможно даже явно указав план. Прав ли я что если потоки уже отсортированы то MERGE будет дешевле HASH? Если да, то можно ли будет подкрутить оптимизатор в тройке, чтобы он распознавал когда потоки уже отсортированы и в этом случае применял MERGE, иначе делал HASH JOIN? P.S. Не пытайтесь уловить смысл запроса он тут только в качестве демонстрации и практического применения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 12:21 |
|
||
|
Избыточная сортировка при MERGE JOIN
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисПрав ли я что если потоки уже отсортированы то MERGE будет дешевле HASH? скорее да, чем нет Симонов ДенисЕсли да, то можно ли будет подкрутить оптимизатор в тройке, чтобы он распознавал когда потоки уже отсортированы и в этом случае применял MERGE, иначе делал HASH JOIN? нельзя. Там проблема не только в оптимизаторе, но еще и в коде merge-джойнов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 14:45 |
|
||
|
Избыточная сортировка при MERGE JOIN
|
|||
|---|---|---|---|
|
#18+
dimitrнельзя. Там проблема не только в оптимизаторе, но еще и в коде merge-джойнов. В том смысле что туда сортировка потоков намертво вшита? Хотя бы явно указывать в плане что использовать MERGE или HASH будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 15:01 |
|
||
|
Избыточная сортировка при MERGE JOIN
|
|||
|---|---|---|---|
|
#18+
там алгоритм требует внешней сортировки. Т.е. подкрутить под устранение лишней сортировки при плане SORT скорее всего получится (хотя в тройке не обещаю), но вот избежать повторной сортировки при плане ORDER в ближайшей перспективе не выйдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2015, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38948797&tid=1562875]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 529ms |

| 0 / 0 |
