普遍的共识似乎是直接查询语句不允许参数,而准备好的语句允许。
但是在 Go 的 database/sql 包中,你可以使用 ODBC 参数并将参数发送到诸如 db.QueryRow() 和 db.Query() 之类的东西。所以看起来它们在功能上是等效的。
话虽如此,那么首先创建一个语句,然后执行它有什么意义呢?假设语句首先针对数据库进行编译——这会不会增加负载并因此降低性能,因为您要添加额外的行程?并且由于您可以从 Query/QueryRow 获取参数,这不会使语句成为一件坏事吗?
慕姐4208626
相关分类