【问题标题】:Does latest Mysql and Postgres prepare every query automatically?最新的 Mysql 和 Postgres 是否会自动准备每个查询?
【发布时间】:2021-11-09 03:33:17
【问题描述】:

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


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


虽然我找不到数据库实际准备每个查询的证据。 那是真的吗,我应该手动使用准备吗?

【问题讨论】:

  • 这取决于您使用的数据库驱动程序。

标签: mysql database postgresql go


【解决方案1】:

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

sqlx 驱动程序中的 Go 代码可能会这样做,但它是可选的,这样做是为了在传递 args 时更简单地编写 Go 接口。

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

【讨论】:

    猜你喜欢
    • 2010-09-24
    • 2018-03-12
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多