运行期间,如果SQL语句不能发生动态地变化,这种SQL语句称为静态SQL语句。运行期间,如果SQL语句或SQL所带的参数可以发生动态变化,这种SQL语句称为动态SQL语句或者预处理SQL语句 。
9.3.1 预处理SQL语句使用步骤
MySQL支持预处理SQL语句,预处理SQL语句的使用主要包含三个步骤:创建预处理SQL语句、执行预处理SQL语句以及释放预处理SQL语句。
1.创建预处理SQL语句
创建预处理SQL语句的语法格式如下:
prepare 预处理SQL语句名 from SQL字符串
2.执行预处理SQL语句
使用execute命令可以执行预处理SQL语句中定义的SQL语句,其语法格式如下:
execute 预处理名[using填充数据[,填充数据...]](www.xing528.com)
3.释放预处理SQL语句
当预处理SQL语句不再使用时,可以使用deallocate语句将该预处理SQL语句释放。其语法格式如下:
deallocate prepare 预处理名
9.3.2 静态SQL语句与预处理SQL语句
对于静态SQL语句而言,每次将其发送到MySQL服务实例时,MySQL服务实例都会对其进行解析、执行,然后将执行结果返回给MySQL客户机。
对于预处理SQL语句而言,预处理SQL语句创建后,第一次运行预处理SQL语句时,MySQL服务实例会对其解析,解析成功后,将其保存到MySQL服务器缓存中,为今后每一次执行做好准备(今后无需再次解析)。
对于某些SQL语句,如果满足“一次创建,多次执行”的条件,可以考虑将其封装为预处理SQL语句,发挥其“一次解析,多次执行”的性能优势。当然预处理SQL语句如果使用不当,也会导致性能下降,甚至不如静态SQL语句。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。