@Paradox рад что кто то пользуется )
SQL - Модуль для работы с SQL базами данных
-
Посмотри эту тему плиз
https://community.bablosoft.com/topic/23154/память-течет-на-последней-версии/2 -
@GERAsimov said in SQL - Модуль для работы с SQL базами данных:
Планируете ли вы реализовать возможность использовать этот модуль в ресурсах ?
Это как?
-
При многопотоке настраиваю соединение в OnApplicationStart для получения глобальных данных.
Есть ли возможность не повторять настройку соединения в Main для каждого потока, если там идет добавление или изменение записей?
Логично хотелось бы вынести настройку коннекта в отдельную ГЛОБАЛЬНУЮ переменную, которую указывать в запросах. Не редко приходится работать с разными коннектами в рамках одного скрипта. -
@marikos, можно сделать одно соединение для нескольких потоков установив одинаковый id, выполнив код
_SQL_CONFIG.id = 'id'. Но это может вызвать неожиданные ошибки и другие проблемы, так как такая работа не тестировалась.Настройку соединения всё равно придётся выполнять в каждом потоке (Её можно вынести в функцию), но соединение будет одно.
-
@GhostZ , проблема не в кубике настройки соединения, а в том что асинхронная функция вызывается в цикле по списку, т.е этих потоков может быть 100+ . Открытие нового соединения ведь нагружает систему или я ошибаюсь ? Хочется понять как оптимизировать работу с базой, когда потоки часто пересоздаются
-
@marikos, @GhostZ said in SQL - Модуль для работы с SQL базами данных:
выполнив код
_SQL_CONFIG.id = 'id'В тех потоках где нужно одно соединение укажите одинаковый id
-
@marikos, если вы не работаете с базой в потоке 1, то выполнять этот код и настраивать соединение там не нужно.
Выполнять этот код и настройку соединения нужно в каждом потоке, в котором производится работа с базой, так как настройки соединения работают в рамках одного потока. Порядок выполнения кода и настройки соединения не важен, главное выполнить их до работы с базой.
-
@GhostZ , понятно, спасибо. Т.е этот метод просто позволит не создавать отдельных соединений, чтобы не нагружать ими бд, но в скрипте каждый поток так и будет настраивать соединение, только не новое?
Это облегчит работу скрипта? Или я вообще делаю бесполезное действие, пытаясь избежать настройки соединения в каждом потоке и это не влияет на скрипт?
-
@marikos said in SQL - Модуль для работы с SQL базами данных:
@GhostZ , понятно, спасибо. Т.е этот метод просто позволит не создавать отдельных соединений, чтобы не нагружать ими бд, но в скрипте каждый поток так и будет настраивать соединение, только не новое?
Да
@marikos said in SQL - Модуль для работы с SQL базами данных:
Это облегчит работу скрипта? Или я вообще делаю бесполезное действие, пытаясь избежать настройки соединения в каждом потоке и это не влияет на скрипт?
Да. А отсутствие выполнения настройки соединения практически ничего не дало бы, так как оно ничего не делает кроме сохранения настроек