|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Шалом. Есть ли у кого-нибудь хороший пример использования именованных курсоров? читал: README.cursors.txt Firebird_Language_Reference_RUS.pdf ну и кусочек из Хелен. что надо: два входящих потока данных, грубо говоря, приоткрываем краник то на одном, то на другом, смешиваем, но не взбалтываем, сливаем в третий поток. вопрос: контроль окончания потоков. в типовых примерах ROW_COUNT, while (1=1), leave. неизящно. если фетчить наплевав на проверку, то выскакивает exception. есть красивые и, может быть, современные решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 11:33 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
pastor, ну явные курсоры вообще не очень красивые. Это ты ещё в MySQL их не пробовал. можешь взводить переменную-флаг вместо LEAVE и проверять её в WHILE Код: sql 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 12:38 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Симонов Денисpastor, ну явные курсоры вообще не очень красивые. Это ты ещё в MySQL их не пробовал. я старый просто, как дерьмо мамонта. думал, упустил какой-нить улучшайзер вроде for fetch c while (fetch c) if (fetch c) и до сих пор поезда под откос пускаю. ну, значит, не пропустил :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 12:47 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
pastor, улучшайзер есть, но он немного не такой как ты думаешь 1. всё тот же курсор FOR SELECT, только без INTO Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
2. Двунаправленные курсоры Код: sql 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. 54. 55.
красивых способов контроля окончания фетча не придумано ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:01 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Симонов Денис, благодарствуем. первый пункт мне подойдет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:07 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
> ну явные курсоры вообще не очень красивые а кроме того - в тройке при использовании WHERE CURRENT OF - ещё и медленные ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:08 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
> два входящих потока данных, грубо говоря, приоткрываем краник то на одном, то на другом сортировка слиянием на PSQL ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:10 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Ariochа кроме того - в тройке при использовании WHERE CURRENT OF - ещё и медленные пруфы будут? Причём здесь неявные курсоры? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:18 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Arioch> два входящих потока данных, грубо говоря, приоткрываем краник то на одном, то на другом сортировка слиянием на PSQL ? а ты пробовал прочитать предложение до конца? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:28 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Arioch, я помню только одно замедление, но оно связано с перевычислением вычисляемых полей (или подзапросов в SELECT) при повторном обращении к ним ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:30 |
|
CURSOR. Внятный пример использования
|
|||
---|---|---|---|
#18+
Было на форуме некоторое время назад, то ли в триггере то ли в SP update .... where current of после перехода с 2.5 на тройку производительность упала в разы после переделки на where PK_ID = ... - производительность сравнялась ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2019, 13:48 |
|
|
start [/forum/topic.php?fid=40&fpage=20&tid=1560580]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 277ms |
total: | 431ms |
0 / 0 |