|
|
|
скорострельность TSQL и WSQL на ASA 9.02
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь проводил замеры скорости работы одинаковых скриптов на одинаковом наборе данных но написанных в разных диалектах. У меня есть весьма муторный скрипт (ХП), который разворачивает дерево в плоскую таблицу (весьма похожий на недавний тест из сравнения СУБД на поиск потомков в дереве). Изначально он был реализован на TSQL и использовал интенсивно временные таблицы (ввод данных во времянку/ сравнение/очистка). Я не использовал спец возможностей для работы с деревьями, какие есть в WSQL. Я переделал его на WSQL и все временные таблицы объявил как NOT TRANSACTIONAL. WITH REQURSIVE не использовал, т.е алгоритм такой-же как и в TSQL ХП. Провел тест на скорость отработки обеих скриптов на одинаковом наборе данных с одинаковыми параметрами. ХП запкскались 10 раз. Время работы ХП около 10 сек. Особенность организации данных такова, что все потомки находились в 3 прохода и потомков много (75% от общего кол-ва листьев в дереве). Данные влезали в кэш, т.е винт не шуршал. Негативный результат состоит в том, что TSQL скрипт в среднем оказался на 10 % БЫСТРЕЕ и во времени работы скриптов не было аномальных всплесков, т.е распределение равномерное. Мне кажется, что такой результат является странным и я немного в замешательстве. Понимаю, что мое заявляение без предъявления скриптов и исходного набора дынных недает возможности сделать какие либо выводы, поэтому: 1. хочется услышать мнение по этому поводу вообще (может еще кто-нибудь проводил поджобные забеги) 2. Может устроим синтетический тест? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 15:05 |
|
||
|
скорострельность TSQL и WSQL на ASA 9.02
|
|||
|---|---|---|---|
|
#18+
Ggg_oldКто-нибудь проводил замеры скорости работы одинаковых скриптов на одинаковом наборе данных но написанных в разных диалектах. У меня есть весьма муторный скрипт (ХП), который разворачивает дерево в плоскую таблицу (весьма похожий на недавний тест из сравнения СУБД на поиск потомков в дереве). Изначально он был реализован на TSQL и использовал интенсивно временные таблицы (ввод данных во времянку/ сравнение/очистка). Я не использовал спец возможностей для работы с деревьями, какие есть в WSQL. Я переделал его на WSQL и все временные таблицы объявил как NOT TRANSACTIONAL. WITH REQURSIVE не использовал, т.е алгоритм такой-же как и в TSQL ХП. Провел тест на скорость отработки обеих скриптов на одинаковом наборе данных с одинаковыми параметрами. ХП запкскались 10 раз. Время работы ХП около 10 сек. Особенность организации данных такова, что все потомки находились в 3 прохода и потомков много (75% от общего кол-ва листьев в дереве). Данные влезали в кэш, т.е винт не шуршал. Негативный результат состоит в том, что TSQL скрипт в среднем оказался на 10 % БЫСТРЕЕ и во времени работы скриптов не было аномальных всплесков, т.е распределение равномерное. Мне кажется, что такой результат является странным и я немного в замешательстве. Понимаю, что мое заявляение без предъявления скриптов и исходного набора дынных недает возможности сделать какие либо выводы, поэтому: 1. хочется услышать мнение по этому поводу вообще (может еще кто-нибудь проводил поджобные забеги) 2. Может устроим синтетический тест? Я конечно не могу утверждать категорически, но смысл в том, что в ASA компиляция 2-х проходная - сначала исходный код компилируется и сохраняется в удобный для ASA исходный оптимизированный код, во время выполнения он преобразовывается в байт-код. Так вот у меня очень серьезное подозрение, что во время компиляции TSQL ХП ASA тут же его преобразует в WatcomSQL, именно его и сохраняет и в дальнейшем по нему работает. В жизнь не поверю, что у этой СУБД на каждый диалект свой оптимизатор запросов. Ну а насчет рекурсий в WatcomSQL, здесь я приводил пример: /topic/145574&pg=10#1203907 Считаю, что обработка за 2 сек в дереве 100 000 уровней вложенности очень даже неплохой результат, особенно если учесть результат Оракла - 14 сек: /topic/145574&pg=10#1206500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 15:19 |
|
||
|
скорострельность TSQL и WSQL на ASA 9.02
|
|||
|---|---|---|---|
|
#18+
2 ASCRUS: Я попробовал алгоритм разбра дерева которое формировалось вашим скриптом (100000 элементов) в "лоб" без WITH REСURSIVE сделать на TSQL и WSQL. На этих данных особой разницы . Время выполнения около 120-125 сек. Машина Селерон 2,5 под сервер 64метра ОЗУ. Данные закешированы, винт не свопил. Ваш скрипт который формирует дерево: Код: 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. Мой скрипт, который ищет всех потомков узла со значением NULL на TSQL. Код: 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. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2004, 18:00 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32848514&tid=2013996]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 155ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...