我一直在阅读很多关于准备好的陈述,在我读过的所有内容中,没有人谈论使用它们的缺点。因此,我想知道是否有任何人们容易忽视的“有龙”的地方?
最佳答案
准备好的语句只是一个经过解析和预编译的 SQL
只等待提供绑定(bind)变量执行的语句。
任何执行的语句迟早都会准备好(需要解析、优化、编译然后执行)。
准备好的语句只是重用解析、优化和编译的结果。
通常数据库系统使用某种优化来节省查询准备时间,即使您自己不使用准备好的查询。Oracle
,例如,在解析查询时首先检查库缓存,如果相同的语句已经被解析,它会使用缓存的执行计划。
关于sql - 使用准备好的语句有缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1363039/