запрос с использованием базы данных/SQL значительно медленнее, чем напрямую запрос базы данных
. Несмотря на использование идентичных запросов, существует заметное раскрытие производительности между выполнением Запрос непосредственно с использованием утилиты PSQL Postgres и использования пакета базы данных/SQL в приложении GO. Это несоответствие, где запросы, которые принимают миллисекунды в PSQL, принимают десятки миллисекундов в Go, могут быть связаны с конкретными факторами в реализации.
Последующие запросы также сталкиваются с задержками, поскольку соединение из первого запроса не было выпущено обратно в пул. Это означает, что каждый последующий запрос должен создать новое соединение перед выполнением запроса.
]
выпуск соединений обратно в пул
для разрешения несоответствия производительности, убедитесь, что соединения выпускаются обратно в бассейн после каждого запроса. Выпуск соединения включает в себя сохранение первичного возвращаемого значения db.query и впоследствии вызов метода закрытия. Начальная задержка, вызовите Ping в пул соединений сразу после инициализации. Это гарантирует, что по крайней мере одно соединение доступно в пуле.
подготовленные операторы
, хотя простые вопросы без аргументов выполняются, как и ожидалось, запросы с аргументами в базе данных/SQL На самом деле создайте и выполните подготовленные операторы под капотом. Подготовленные операторы предлагают преимущества производительности при выполнении одного и того же запроса несколько раз с различными аргументами.
] адресация дополнительной задержки
Помимо управления соединением и подготовленных операторов, могут быть дополнительные факторы задержки Чтобы рассмотреть:
сетевой задержка:
задержка, вызванная передачей данных по сети между приложением и базой данных. &&&]] рабочая нагрузка сервера базы данных может повлиять на время выполнения запросов. База данных напрямую.]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3