|
|
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть запрос вида: Код: sql 1. 2. 3. 4. 5. Запрос тупит т.к. sp_tree1 и sp_tree2 большие деревья. Решение, которое пока что приходит на ум это выборку по деревьям перекинуть во временные таблицы базы и затем выполнить запрос: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:25 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Решение, которое пока что приходит на ум это выборку по деревьям перекинуть во временные таблицы базы и затем выполнить запрос: Вместо решения обычно принято озвучивать задачу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:28 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Что посоветуете, чтобы с одной стороны избежать временных таблиц, а с другой повысить скорость выполнения запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:29 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Что посоветуете, чтобы с одной стороны избежать временных таблиц, а с другой повысить скорость выполнения запроса? Посоветую показать DDL участвующих объектов, планы выполнения запросов (и в хп тоже) и статистику выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:31 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, для начала перепиши на нормальный ANSI JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:35 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
wadmanПосоветую показать DDL участвующих объектов, планы выполнения запросов (и в хп тоже) и статистику выполнения. Показать пока нет возможности, основная проблема в том, что sp_tree1 и sp_tree2 в первом варианте sql-запросы вызываются часто и соответственно они части внутри дергают таблицы tree1 и tree2, структура которых такая: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:41 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денисдля начала перепиши на нормальный ANSI JOIN в смысле так?: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:44 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012, сколько записей в tree1, tree2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:44 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
wadmanfedorov2012, сколько записей в tree1, tree2? в среднем около 4 тыс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:45 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012wadmanfedorov2012, сколько записей в tree1, tree2? в среднем около 4 тыс. Всего? И сколько мс запрос выполняется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:48 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
wadmanfedorov2012пропущено... в среднем около 4 тыс. Всего? И сколько мс запрос выполняется? несколько минут, просто в table1 несколько миллионов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:50 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Если переписываю на временные таблицы, то работает все на порядки быстрее. Но не хотелось бы прибегать к временным таблицам вот и решил у форумчан спросить совета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:51 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Если переписываю на временные таблицы, то работает все на порядки быстрее. Но не хотелось бы прибегать к временным таблицам вот и решил у форумчан спросить совета Потому что планы строятся разные, потому и просил планы и статистику... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 11:53 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
wadmanПотому что планы строятся разные, потому и просил планы и статистику... Средствами одного sql-запроса (не переписываю sp_tree1 и sp_tree2) есть ли возможность увеличить скорость выполнения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 12:22 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012не хотелось бы прибегать к временным таблицам Альтернативой является перепроектирование базы. Ты готов на это пойти?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 12:23 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012wadmanПотому что планы строятся разные, потому и просил планы и статистику... Средствами одного sql-запроса (не переписываю sp_tree1 и sp_tree2) есть ли возможность увеличить скорость выполнения? Третий раз: для ответа на этот вопрос недостаточно информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 12:24 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Симонов Денисдля начала перепиши на нормальный ANSI JOIN в смысле так?: Код: sql 1. 2. 3. 4. нет, ключевое слово ON потерял. Мог бы и проверить сначала. Код: sql 1. 2. 3. 4. 5. 6. План запроса где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 12:44 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Симонов Денис Код: sql 1. 2. 3. 4. 5. 6. вот скажите мне FB сообразит и процедуры sp_tree1, sp_tree2 выполнятся по одному разу????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 12:57 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovАльтернативой является перепроектирование базы. Ты готов на это пойти?.. Нет, а в чем суть перепроектирования бы заключалась - внедрять view? wadmanТретий раз: для ответа на этот вопрос недостаточно информации. Т.е.вы намекаете на то, что средствами одного sql-запроса (не переписываю sp_tree1 и sp_tree2) увеличить скорость не получиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:00 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
m7mвот скажите мне FB сообразит и процедуры sp_tree1, sp_tree2 выполнятся по одному разу????? нет, конечно же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:02 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
m7mвот скажите мне FB сообразит и процедуры sp_tree1, sp_tree2 выполнятся по одному разу?????Если в плане будет MERGE - да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:02 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Вот я на что намекаю... Или пусть программист к обсуждению подключится. wadmanfedorov2012Что посоветуете, чтобы с одной стороны избежать временных таблиц, а с другой повысить скорость выполнения запроса? Посоветую показать DDL участвующих объектов, планы выполнения запросов (и в хп тоже) и статистику выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:02 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
Если добавить в дерево порядок обхода (и индексы на эти поля, понятно дело), то можно без хранимых процедур: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:06 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
fedorov2012Нет, а в чем суть перепроектирования бы заключалась - внедрять view? Изменение формата хранения деревьев, более тщательное выделение сущностей, нормализация. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:07 |
|
||
|
Избежать временных таблиц
|
|||
|---|---|---|---|
|
#18+
m7mСимонов Денис Код: sql 1. 2. 3. 4. 5. 6. вот скажите мне FB сообразит и процедуры sp_tree1, sp_tree2 выполнятся по одному разу????? зависит от плана запроса. Поэтому и спрашиваю. Хотя даже с MERGE здесь будет жопа. ибо fedorov2012просто в table1 несколько миллионов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38778367&tid=1563247]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
205ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 501ms |

| 0 / 0 |
