|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
Добрый день народ. Подскажите следующее, оптимальна ли данная процедура? Код: 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. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
Схема данных во вложении ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 16:09 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
Понятно :( Пятница... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 16:38 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
Larsik, как по мне - не оптимально это все можно было сделать одним запросом ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 17:06 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
Если запрос работает правильно и быстро, значит он оптимален. Чисто эстетически, я бы старался избегать динамического SQL в ХП. Лучше бы uid параметризовать в переменную и выполнить запрос как select во времянку. А уже по времянке открывать курсор. Что там внутри курсора я не смотрел, посему за оптимизацию запросов там сказать ничего не могу. Понравилось, что текст ХП выглядит красиво, опрятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 23:26 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
Larsik, SELECT (SUM(if dd.isLocal = 0 then size else 0 endif) / 1048576) (SUM(if dd.isLocal = 1 then size else 0 endif) / 1048576) INTO @l_size,@l_size_l FROM Jurnal AS j LEFT JOIN DirectoryDomains AS dd ON (j.uid_domain = dd.uid) WHERE uid_date = @uid AND uid_user = uid_user; ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 08:11 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
KSeregaLarsik, Код: plaintext 1. 2. 3. 4. 5. 6. 7.
За подсказку спасибо, я так и не нашел аналог IIF :-) Вопрос еще вот в чем, как проверить(узнать) стоимость всей процедуры в целом. В FB любую процедуру можно выполнить в виде блока и узнать какие индексы дергал сервер, какой план и его стоимость. Как тут это можно выполнить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 11:47 |
|
Помощь новичку с процедурой
|
|||
---|---|---|---|
#18+
09.08.2010 12:47, Larsik пишет: > За подсказку спасибо, я так и не нашел аналог IIF :-) > > Вопрос еще вот в чем, как проверить(узнать) стоимость всей процедуры в > целом. > В FB любую процедуру можно выполнить в виде блока и узнать какие индексы > дергал сервер, какой план и его стоимость. Как тут это можно выполнить? Совет № 1: выбросить из головы FB, чтобы не мешал работать. Совет № 2: открыть для себя Profiling (в Sybase Central-е) и планы запросов (в ISQL). Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 12:25 |
|
|
start [/forum/topic.php?fid=55&msg=36779715&tid=2010571]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 297ms |
total: | 433ms |
0 / 0 |