美文网首页
go语言中MySQL预处理

go语言中MySQL预处理

作者: 梁帆 | 来源:发表于2021-03-31 09:42 被阅读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源码

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

    查询操作的预处理示例

    核心代码就在这几行:

    核心代码

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

    预处理插入示例

    相关文章

      网友评论

          本文标题:go语言中MySQL预处理

          本文链接:https://www.haomeiwen.com/subject/sqeghltx.html