|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
pastorВсе вышесказанное имеет смысл только для локального подключения. Если сервер БД - одно, а сервер телеметрии - другое, то смысл распараллеливать есть. смыслы бывают разными. я не говорил, что "нельзя распараллеливать вставку". Можно, конечно, но по сравнению с 1 коннектом она будет или такая же (суперсервер), или хуже (классик и суперклассик). Просто иногда у людей витают какие-то идеи, не обусловленные практической необходимостью. Dorin MarcociТак будет только фиксация изменений без старта другой транзакции (что я думал непростая операция). retaining - это старт новой транзакции с сохранением "контекста" предыдущей. Нельзя стартовать транзакцию без ее старта. Dorin Marcociбыли сделаны оптимизации по CommitRetaining и что можно держать сколько угодно транзакцию открытой. не припоминаю такого, совсем. На текущий момент, начиная с InterBase 6.0, только один тип транзакции можно держать бесконечно открытой - read read_committed. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:05 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcoci, не мог он такого говорить. Commit Retaining был выдуман чтобы не закрывать открытый курсор. Если для вставки не использовать DataSet, то он на фиг не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:05 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin MarcociТак будет только фиксация изменений без старта другой транзакции CommitRetaining внутри движка делает коммит + старт новой транзакции. Единственное исключение - если не было изменений, тогда CommitRetaining = no-op. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:10 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Понял, спасибо всем! Значит будет чистый коммит. Насчет параметров транзакции, если будут короткие, только ставки, лучше read commited version? или по барабану. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:26 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcociтолько ставки, лучше read commited version? или по барабану. похоже, начинается толстый троллинг. read read_committed - читающая транзакция, никакие вставки в ней невозможны (разве что в гтт). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:29 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
kdv, может ТС имеет в виду транзакцию: "write\r\nwait\r\nconcurrency\read_committed", чтобы, типа, иметь возможность читать подтвержденные другими транзакциями записи в контексте пишущей транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:36 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
* "write\r\nwait\r\nconcurrency\r\nread_committed" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:37 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcociлучше read commited version? или по барабану. RC может быть лучше по производительности. Или не быть. Но, вероятнее всего, ты на твоей нагрузке разницы не заметишь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:39 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
DBConstructorconcurrency+read_committed" эта комбинация - ахинея. а если вопрос вообще, про изолированность транзакции для вставки - так какая разница??? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:40 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
kdv, да, согласен на счет ахинеи! Взаимоисключающие параметры транзакции. Бездумно скопипастил из кода и дописал read_committed. @-\ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 13:46 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Рустам, анализируя ваши мысли, хотелось уточнить... Гаджимурадов РустамА вот отпрепаренные запросы легко переживают коммит, их повторно препарить не нужно, только параметры меняй и повторно Exec-Commit. - isc_start_transaction - получаем trans_handle - isc_dsql_prepare(trans_handle) - хочет как параметр trans_handle - isc_dsql_execute(trans_handle) - здесь как бы первый раз должно быть ок - isc_commit_transaction - убиваем trans_handle - isc_start_transaction - получаем новый_trans_handle - isc_dsql_execute(новый_trans_handle) - это будет работать, да? Просто я из делфей, почти везде видел UnPrepare при Transaction.Destroy; Щас нашел одну простую лиюбу, переделываю под себя чтоб были живучие препэйры. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 00:40 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcociэто будет работать, да? Да. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 00:47 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin MarcociПросто я из делфей, почти везде видел UnPrepare при Transaction.Destroy; я вижу несколько с другой стороны - из дельфей, на 100 коннектах десятки тысяч prepared-запросов, не привязаных к транзакциям. Привязаных - штук 150. Как-то так. Так что исходники используемых компонент надо проверять. Возможно, что-то вроде IBSQL.Transaction:=nil; как раз вышеописанное и дает. Смотрю TIBTransaction.Destroy - там для привязаных запросов вызывается SQLObjects[i].DoTransactionFree, которая пустышка с вызовом события, а потом RemoveSQLObjects, где тупо убирается owner. Может где-то в недрах базовых классов что-то вызывается, но сильно сомневаюсь, по вышеуказанным причинам (проверить можно, но дельфю не хочу запускать). Достаточно глянуть в mon$statements своей "системы на дельфях", и посмотреть на количество запросов, у которых mon$transaction_id = 0 и у которых > 0. Так что в FB API лезть, как мне кажется, совсем не обязательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 02:18 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Тогда, если препэйр не зависит от транзакции лучше бы требовали database_handle вместо transaction_handle в isc_dsql_prepare. Дмитрий, ок, может в TIbTransaction все тип-топ, а вот в найденом либе под лазаруса не торт. Переделываю успешно :) А че не надо в апи лезть, мне интересно, особенно новый ооп в тройке. Часто смотрю что творит Фернандос в интерфэйс паскаля. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:36 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin MarcociТогда, если препэйр не зависит от транзакции он зависит. Метаданные при препаре читаются к контексте юзерской транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 11:42 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
dimitr, наверное имелось в виду, что после того, как выполнен prepare в контексте транзакции, подготовленный запрос привязывается к соединению с БД и может выполнятся без подготовки в любой другой транзакции данного соединения. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 12:02 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcociлучше бы требовали database_handle вместо transaction_handle в isc_dsql_prepare. запросу делается prepare в транзакции, а не в воздухе. DBConstructorподготовленный запрос привязывается к соединению с БД и может выполнятся фиг знает, что он имел в виду. кстати, а сейчас это не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 12:20 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
kdvфиг знает, что он имел в виду. кстати, а сейчас это не так? Дмитрий, я лишь уточнил для ТСа как всё в действительности происходит, чтобы он не плавал в теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 13:11 |
|
Пул коннектов или что-то еще
|
|||
---|---|---|---|
#18+
Dorin Marcociесли препэйр не зависит от транзакции лучше бы требовали database_handle вместо transaction_handle в isc_dsql_prepare. Хэндл коннекта требует isc_dsql_alloc_stmt(). Этого тебе недостаточно?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2015, 13:26 |
|
|
start [/forum/topic.php?fid=40&msg=39135885&tid=1562439]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 153ms |
0 / 0 |