|
|
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
djvov Код: plaintext Так напиши: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 16:18:59 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
djvovвообщем скрипт Nick Anikin выдал что Recursive limit 0 (as set by max_sp_recursion_depth variable) was exceeded by routine go max_sp_recursion_depth надо увеличить? как его указать явно? Код: plaintext скрипт MAPA3OT'a на небольшой вложенности работает верно, а на большой - нет. В архиве дамп базы. Если считать фотки экскаваторов Код: plaintext А если считать самосвалы Код: plaintext Ай-ай-ай, а врать не хорошо, что вернет этот запрос? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 16:43:33 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
MAPA3OT djvov Хотя, стоп, отставить, у вас точно такая функция? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 16:50:30 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
skol[ Минус один - многократный фуллскан таблицы (по числу вложенных уровней), т.е. тормоза Фулскан - действительно тормоз прогресса, но я пока не понимаю как без него ибо ваша функция к сожалению сложится (должна сложиться) на больших объемах данных, substring при работе с blob - проще сразу повеситься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 16:53:46 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
MAPA3OT skol Ну и еще один плевок в вас (я очень раздражительный перед похмельем), сравните: допусти по всем уровням вложенности (пусть будет 10) всего 150 записей. а теперь сравните - полный перебор таблицы 10 раз со 150-ю быстрыми запросами. Мне кажется, вы проигрываете в скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 17:04:11 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
Мегазапрос Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 19:45:46 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
Немного оптимизировал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 19:51:09 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
Кстати о пти4каx. Если каталог довол;но стабил;ний, то можно полухеные зна4ения записать в новой колонке. Ина4е рыскать каждый раз -- сервер загнется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2008, 21:03:11 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
MAPA3OT MAPA3OT skol Ну и еще один плевок в вас (я очень раздражительный перед похмельем), сравните: допусти по всем уровням вложенности (пусть будет 10) всего 150 записей. а теперь сравните - полный перебор таблицы 10 раз со 150-ю быстрыми запросами. Мне кажется, вы проигрываете в скорости. Зависит от размера таблицы, от количества уровней и от реализации FIND_IN_SET. Для небольшого количества уровней / небольшой таблицы ваш метод выгодней (я применяю близкий метод, но с клиента (пых)) Опять же, 150 быстрых запросов в хранимке это совсем не тоже самое, что 150 запросов с клиента. Теперь последний камень ;-) - у вас постепенно набирается множество всех узлов со всех уровней, если же, как я упоминал, включить определение количества картинов в цикл, можно использовать множество только текущего уровня. Т.е. у вас в большинстве запросов часть возвращаемого результата дублирует то, что уже было известно. про реализацию на пыхе: здесь все можно сделать гораздо оптимальней: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 01:57:12 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
skol_at_home Сначала о грустном для меня, если честно, то сам предпочитаю искать с клиента, а не на сервере (фиг его знает, когда GROUP_CONCAT захлебнется, да и вообще сервак лишний раз мучать - бред) Теперь о веселом. Самое забавное, что мой метод рулит именно на больших объемах данных, но с маленьким числом уровней, не смотря на то, что мы по n-раз возвращаем одно и тоже. По поводу substring - вы меня вряд ли сможете убедить, ну тормознутый он, что тут сделаешь. А реализация Filed_in_set меня вообще не волнует, это мусевская родная функция и как она работает - проблемы муси, а не мои. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 02:05:49 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
О, а пока мы со skol пиписьками махались сзади тихо подошел xelaok и... xelaok, я так с вами не играю это не честно и вообще это должен был написать я А если честно, красиво, блин, и избегаем лишних проходов, и уменьшаем кол-во ненужной инфы, красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 02:11:14 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
Еще немного посидел над запросом :) Более быстрый вариант с правильным запросом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Такой же, но без prepare/execute: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 10:40:35 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
xelaokЕще немного посидел над запросом :) Более быстрый вариант с правильным запросом: оба с одинаковой скоростью работают?) последний вариант спас мой сайт)) спасибо вам всем огромное, и с праздником!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 11:47:38 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
djvovоба с одинаковой скоростью работают?) неа, второй, без prepare, в раза 4 медленее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 11:58:38 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
xelaok djvovоба с одинаковой скоростью работают?) неа, второй, без prepare, в раза 4 медленее... а как замеряли? с помощью пхп я представляю как замерить скорость.. а с помощью одного мускуля как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 13:09:24 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
да, и правда, первый вариант быстрей, где то в 2-3 раза, говорит мой замер. единственное, что у меня не получилось его из пхп выполнить, а второй вариант нормально работает. Код: plaintext 1. 2. 3. 4. 5. 6. выдает пустую строку но если из клиента выполнять, то все верно говорит. Код: plaintext 1. 2. 3. 4. 5. 6. выдает количество нормально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2008, 15:02:10 |
|
||
|
рекурсивная функция (процедура)
|
|||
|---|---|---|---|
|
#18+
Пример рекурсивного получения пути узла. Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2015, 01:57:00 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=35303710&tid=1832577]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 381ms |

| 0 / 0 |
