zoukankan      html  css  js  c++  java
  • mysql prepare原理

    1.prepare stmt from xxx;  //用于 词法分析->语法分析->语义分析 生成一棵语法树(Lex)

    2.execute stmt      //执行sql

    3.deallocate prepare stmt;  //清除mysql服务器内存中这颗语法树所占用内存。说白了,清除第1步。

    prepare 的目的,用于节省 词法分析->语法分析->语义分析 所占用的时间,因为每句普通的sql,比如 select xxx 或者 insert into xxx 都是要进行这些过程的。重复执行,而参数不同,没必要再各种解析的。

    所以,要能发挥预处理的功能要如下写:

    prepare stmt from 'insert into tab1 values ?'

    SET @a = "(1,2,3)";

    execute stmt using @a;

    SET @a = "(4,5,6)";

    execute stmt using @a;

    。。。

    等insert into 都执行完,再执行

    deallocate prepare stmt;

  • 相关阅读:
    poj 3744 题解
    hdu 1850 题解
    New World
    CSP2019游记
    LOJ6052 DIV
    CF809E Surprise me!
    Luogu4548 歌唱王国
    Luogu4581 想法
    Note 5.26-5.28
    LOJ6519 魔力环
  • 原文地址:https://www.cnblogs.com/workharder/p/15471672.html
Copyright © 2011-2022 走看看