mysql - 最新的 Mysql 和 Postgres 会自动准备每个查询吗?

标签 mysql database postgresql go

我在 sqlx 文档中遇到了这个:


在大多数数据库上,每当执行查询时,语句实际上都会在幕后准备。但是,您也可以使用 sqlx.DB.Prepare() 显式准备语句以便在其他地方重用:


尽管我找不到证据证明数据库实际上准备了每个查询。 那么是真的吗,我应该手动使用prepare吗?

最佳答案

MySQL 和 PostgreSQL 绝对不会准备每个查询。您可以直接执行查询,无需执行准备和执行序列。

sqlx 驱动程序中的 Go 代码可能会执行此操作,但它是可选的,这样做是为了在传递参数时更简单地编写 Go 接口(interface)代码。

您不需要手动使用 Prepare() 函数,除非您想重用准备好的查询,使用不同的参数多次执行它。

关于mysql - 最新的 Mysql 和 Postgres 会自动准备每个查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69169488/

相关文章:

mysql - 选择 'one has many' mySQL 查询

mysql 查询排序数据库

java - 查询时仅显示第一行

sql - PostgreSQL:将 PARTITION 与 LIMIT 结合使用

postgresql - 是否可以将 LinqPad 与 PostgreSQL 一起使用?

mysql - mysql 中行的最大值

php - 在 PHP 中的 XMLWriter 之后,在 flush() 之前替换字符串

mysql - 如何有效地纠正这个查询?

mysql - 在同一个 mysql 表上使用内连接从 select 获取数据

python - 帮我找出一个使用 Python 和 PostgreSQL 的随机调度算法