powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пул коннектов или что-то еще
19 сообщений из 44, страница 2 из 2
Пул коннектов или что-то еще
    #39133031
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pastorВсе вышесказанное имеет смысл только для локального подключения.
Если сервер БД - одно, а сервер телеметрии - другое, то смысл распараллеливать есть.
смыслы бывают разными. я не говорил, что "нельзя распараллеливать вставку". Можно, конечно, но по сравнению с 1 коннектом она будет или такая же (суперсервер), или хуже (классик и суперклассик).
Просто иногда у людей витают какие-то идеи, не обусловленные практической необходимостью.
Dorin MarcociТак будет только фиксация изменений без старта другой транзакции (что я думал непростая операция).
retaining - это старт новой транзакции с сохранением "контекста" предыдущей. Нельзя стартовать транзакцию без ее старта.
Dorin Marcociбыли сделаны оптимизации по CommitRetaining и что можно держать сколько угодно транзакцию открытой.
не припоминаю такого, совсем. На текущий момент, начиная с InterBase 6.0, только один тип транзакции можно держать бесконечно открытой - read read_committed.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133032
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcoci,

не мог он такого говорить. Commit Retaining был выдуман чтобы не закрывать открытый курсор. Если для вставки не использовать DataSet, то он на фиг не нужен.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133041
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin MarcociТак будет только фиксация изменений без старта другой транзакции
CommitRetaining внутри движка делает коммит + старт новой транзакции. Единственное исключение - если не было изменений, тогда CommitRetaining = no-op.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133067
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо всем! Значит будет чистый коммит.
Насчет параметров транзакции, если будут короткие, только ставки, лучше read commited version? или по барабану.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133070
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcociтолько ставки, лучше read commited version? или по барабану.
похоже, начинается толстый троллинг. read read_committed - читающая транзакция, никакие вставки в ней невозможны (разве что в гтт).
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133076
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, может ТС имеет в виду транзакцию: "write\r\nwait\r\nconcurrency\read_committed", чтобы, типа, иметь возможность читать подтвержденные другими транзакциями записи в контексте пишущей транзакции?
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133078
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* "write\r\nwait\r\nconcurrency\r\nread_committed"
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133082
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcociлучше read commited version? или по барабану.
RC может быть лучше по производительности. Или не быть. Но, вероятнее всего, ты на твоей
нагрузке разницы не заметишь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133083
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorconcurrency+read_committed"
эта комбинация - ахинея. а если вопрос вообще, про изолированность транзакции для вставки - так какая разница???
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39133091
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, да, согласен на счет ахинеи! Взаимоисключающие параметры транзакции.
Бездумно скопипастил из кода и дописал read_committed. @-\
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135275
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рустам, анализируя ваши мысли, хотелось уточнить...
Гаджимурадов РустамА вот отпрепаренные запросы легко переживают коммит, их повторно препарить не нужно, только параметры меняй и повторно 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;
Щас нашел одну простую лиюбу, переделываю под себя чтоб были живучие препэйры.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135278
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcociэто будет работать, да?
Да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135303
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 лезть, как мне кажется, совсем не обязательно.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135602
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда, если препэйр не зависит от транзакции лучше бы требовали database_handle вместо transaction_handle в isc_dsql_prepare.

Дмитрий, ок, может в TIbTransaction все тип-топ, а вот в найденом либе под лазаруса не торт. Переделываю успешно :)
А че не надо в апи лезть, мне интересно, особенно новый ооп в тройке. Часто смотрю что творит Фернандос в интерфэйс паскаля.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135617
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin MarcociТогда, если препэйр не зависит от транзакции
он зависит. Метаданные при препаре читаются к контексте юзерской транзакции.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135671
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr, наверное имелось в виду, что после того, как выполнен prepare в контексте транзакции, подготовленный запрос привязывается к соединению с БД и может выполнятся без подготовки в любой другой транзакции данного соединения.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135731
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcociлучше бы требовали database_handle вместо transaction_handle в isc_dsql_prepare.
запросу делается prepare в транзакции, а не в воздухе.

DBConstructorподготовленный запрос привязывается к соединению с БД и может выполнятся
фиг знает, что он имел в виду. кстати, а сейчас это не так?
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135885
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvфиг знает, что он имел в виду. кстати, а сейчас это не так?
Дмитрий, я лишь уточнил для ТСа как всё в действительности происходит, чтобы он не плавал в теме.
...
Рейтинг: 0 / 0
Пул коннектов или что-то еще
    #39135922
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcociесли препэйр не зависит от транзакции лучше бы требовали
database_handle вместо transaction_handle в isc_dsql_prepare.
Хэндл коннекта требует isc_dsql_alloc_stmt(). Этого тебе недостаточно?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Пул коннектов или что-то еще
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]