|
|
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
pg_prepared_statements авторstatement text The query string submitted by the client to create this prepared statement. For prepared statements created via SQL, this is the PREPARE statement submitted by the client. For prepared statements created via the frontend/backend protocol, this is the text of the prepared statement itself. на самом деле там будет валяться ВЕСЬ стейтмент . если это батч -- будет весь батч. [т.е. current_query()] Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. что, впрочем, не мешает выполняться по вызову только самому стейтменту. -- смотрю возможность генерировать пакеты как лист стейтментов и лист их вызовов одним динамом -- довольно дорого будет в каждый "statment" поместить всю многотысячезнаковую строку. печалька. надо будет нарезать сами стейтменты на loop-е. "отдельными стейтментами", т.с. а англичане, меж тем, ружья кирпичом не чистятЪ1111 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2015, 17:53 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
qwwq<>надо будет нарезать сами стейтменты на loop-е. "отдельными стейтментами", т.с. ашипка вышел -- это же один SQL--динамо. исполняемый пачкой. как в нем отдельно стоящий loop нарисовать -- х.з. не выходит каменный цветок. придется таки с клиента все это делать. а не на сервере. если делать. вот жишь до чего довёл планету этот фигляр пж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2015, 18:00 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
qwwq, dblink к самому себе с шарингом транзакции )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 01:11 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
Больше извращений богу извращений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 01:11 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
Warstoneqwwq, dblink к самому себе с шарингом транзакции )) можно, но там мыслился аккуратный выборочный DEALLOCATE , у которого нет "IF EXISTS" , а стало быть только через динамику в анонимном блоке. -- т.е. "пакет" должен будет представлять собой анонимный блок с вызовом через dblink чеков тамошнего набора стейтментов, с [уничтожением и ] созданием каждого отдельным стейтментом, а потом -- пересылку батча в то же соединение 100--тыщщ--мильонов символов в dblink. т.е. 2 раза передаем весь пакет -- в вызов, собственно, и в дблинк -- потом. А это -- дорого, думается. при этом, если мы подымаем соединение автономии под задачу -- делать в нём "аккуратный deallocate" -- бесмыссленно -- это соединение наше заведомо под контролируемую только нами задачу -- там можно и не церемониться пока сделал тупо deallocate all; в батче. //пг_препаред_ст-тс -- вьюха, и каррент стейтмент там не хранится, слава яйцам, а вот опрос её -- дорог, потому что это вьюха на функции, и функция будет возвращать миллионы символов в поле, которое не опрашивается. -- избавляемся от опроса => нема проблем вроде шустро получилось -- порядок (десятичный), как минимум, сэкономил. правда там не чистые insert/update/delete, а самопальные мерджи со сложным условием [помесь репликации с синхронизацией]. особо радует -- что на очень большом батче без препаред сервер тупо уходит в recovery [настройки памяти оптимистические, судя по всему] -- а с препарами -- оттарабахивает за несколько сек, и не жужжит. но самое смешное -- всё это [пока] для того, чтобы проверить, как это будет работать в случае динамического партицирования. (когда набор партиций, лежащих под "таблицей" меняется в процессе обработки стейтментов батча--транзакции, а стейтменты отпрепарены только в её начале. -- написать -- написал, теперь думать буду, как это протестировать на непротиворечивость и устойчивость к "динамическому" партицированию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 10:41 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
qwwq, Мсье знает толк в извращениях. :) То что на выходе получится кто то кроме вас сможет понять и поддерживать? А через 3 года? PS: 15 лет работы с Postgresql приучили к тому что самые простые и дубовые решения лучше всего если они обеспечивают приемлемую производительность (так как были моменты когда через 3 года после запуска я не мог понять как работает особо хитрая система написанная лично мной в подобном стиле :)). -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 14:18 |
|
||
|
забавная фича pg_prepared_statements
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, судя по его вопросам в топике, человек экспериментирует на тестовой машине. Это нормально, тоже так делаю. Как-то ради прикола пробовал воспроизвести даже примеры с мутирующими таблицами из ораклового учебника. Не получилось-:) Фракталы Мандельброта зато получались ничё так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 17:27 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=1997895]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 415ms |

| 0 / 0 |
