Новая версия 1.3
Убрал зависимость от модуля "Строка"В режиме компиляции не работало, если в проекте не было действий этого модуля.
При многопотоке настраиваю соединение в 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 базами данных:
Это облегчит работу скрипта? Или я вообще делаю бесполезное действие, пытаясь избежать настройки соединения в каждом потоке и это не влияет на скрипт?
Да. А отсутствие выполнения настройки соединения практически ничего не дало бы, так как оно ничего не делает кроме сохранения настроек
@GhostZ , здравствуйте, пару вопросов.