go语言中MySQL预处理

2021-03-31  本文已影响0人  梁帆

一、什么是预处理?

普通SQL语句执行过程:

1、客户端对SQL语句进行占位符替换得到完整的SQL语句。

2、客户端发送完整SQL语句到MySQL服务端。

3、MySQL服务端执行完整的SQL语句并将结果返回客户端。

预处理执行过程:

1、把SQL语句分成两部分,命令部分与数据部分。

2、先将命令部分发送给MySQL服务端,MySQL服务端进行SQL预处理。

3、然后把数据部分发送给MySQL服务端,MySQL服务端对SQL语句进行占位符替换。

4、MySQL服务端执行完整的SQL语句并将结果返回给客户端。

二、为什么要预处理?

1、优化MySQL服务器重复执行SQL的方法,可以提升服务器性能,提前让服务器编译,一次编译多次执行,节省后续编译的成本。

2、避免SQL注入问题。

三、Go实现MySQL预处理

database/sql中使用下面的Prepare方法来实现预处理操作:

sql源码

查询操作的预处理示例代码如下:

查询操作的预处理示例

核心代码就在这几行:

核心代码

预处理的插入示例同理,加入了这段核心代码:

预处理插入示例
上一篇下一篇

猜你喜欢

热点阅读