SET
для установки параметров времени выполнения, а не для запроса к базе данных. Я не мог даже запустить EXPLAIN ANALYZE
с SET
; исходя из сложности программы c, можно ожидать, что времена будут напоминать самые короткие запросы. Я сомневаюсь, что это влияет на производительность значимо , но, конечно, несколько байтов передаются и анализируются.
Эти команды получены от менеджера соединений Sequelize. js. Они генерируются при инициализации соединения с помощью
if (this.sequelize.options.clientMinMessages !== false) {
query += `SET client_min_messages TO ${this.sequelize.options.clientMinMessages};`;
}
if (!this.sequelize.config.keepDefaultTimezone) {
const isZone = !!moment.tz.zone(this.sequelize.options.timezone);
if (isZone) {
query += `SET TIME ZONE '${this.sequelize.options.timezone}';`;
} else {
query += `SET TIME ZONE INTERVAL '${this.sequelize.options.timezone}' HOUR TO MINUTE;`;
}
}
Таким образом, вы можете вызвать new Sequelize()
с clientMinMessages: false, keepDefaultTimezone: true
в объекте параметров ( clientMinMessages здесь ; keepDefaultTimezone менее документировано).
Я не профилировал их. С установленным часовым поясом UT C keepDefaultTimezone кажется безопасным. Обратите внимание, что если Sequelize не устанавливает postgres client_min_messages
в WARNING
, postgres может по умолчанию установить чуть более низкий порог уведомления NOTICE
и отправить некоторые дополнительные сообщения обратно в Sequelize. Стоит ли использовать какие-либо из этих настроек, зависит от вашей системы.