Golang的database/sql包提供了两种执行SQL语句的方法: db.Exec() for不返回行的操作(如插入、删除、更新)和 db.Query()
虽然文档建议使用 db.Exec() 进行非查询操作,但许多开发人员想知道为什么要费心准备语句。
尽管 db.Query() 在底层创建了准备好的语句,db.Exec() 仍然提供好处:
文档中有关使用 db.Query() 自动准备语句的声明可能会有所不同,具体取决于所使用的数据库驱动程序。然而,创建和手动重用准备好的语句仍然可以提高经常执行的查询的性能。
PostgreSQL 文档解释了准备好的语句如何通过减少多次解析和规划查询的需要来优化性能。通过准备一次语句并使用不同的参数多次执行它,您可以跳过这些昂贵的操作。
总而言之,虽然 db.Exec() 为非查询操作、手动准备和缓存语句提供了特定的好处可以优化频繁查询的性能。
以上是为什么在 Go 的数据库交互中使用 db.Exec() 和准备语句?的详细内容。更多信息请关注PHP中文网其他相关文章!