MySQL预编译
https://www.freesion.com/article/30881003118/
MySQL client发送一条SQL语句到MySQL服务端后,服务端会对SQL进行语法校验、解析等操作,最后才会执行,但是如果对只是参数不同的SQL 每次都进行语法校验、解析等操作,难免会影响性能;
所谓预编译就是将一些灵活的参数值以占位符
?
的形式给代替掉,把参数值给抽取出来,将SQL语句进行模板化。让MySQL服务器执行相同的SQL语句时,不需要在校验、解析SQL语句上面花费重复的时间
MySQL预编译语法
-- 定义一个预编译sql语句
prepare name from statement;
例如
prepare statement_1 from 'select * from user where id=?';
--设置参数--
set @id=1;
--执行--
execute statement_1 using @id;
--释放预编译SQL语句--
deallocate prepare statement_1;