gri*_*ako 5 php mysql stored-procedures
我们打算使用mysql存储过程来处理一个项目的所有数据库工作.有几个应用程序(不同的语言)使用相同的数据库,我很确定这些应用程序中有大量重复的SQL代码.
然后在阅读有关mysq的内容时我偶然发现了
http://www.joinfu.com/2010/05/mysql-stored-procedures-aint-all-that/
文章基本上说每次新数据库连接时都会编译存储过程是.
mysql会编译数据库中的ALL(至少3位数)存储过程吗?
否.查询和存储过程按需编译,然后保存在缓存中一段时间.如果重复使用特定的存储过程,将使用在缓存中编译的版本,但如果它不再在缓存中,则必须首先编译它,就像您发送到数据库的任何其他查询一样.
MySQL肯定不会做的是一次编译所有x-100存储过程 - 如果这是你害怕的话.
但所有这些都有些无关紧要存储过程的优点是,您可以确保使用相同数据库的多个应用程序以相同的方式使用它.当你的性能开始查看编译缓存的速度时,你会看到错误的位置.通过查询或数据库重新设计可以更好地完成速度优化.