Sco*_*ott 13 sql prepared-statement
我一直在读很多关于准备好的陈述,在我读过的所有内容中,没有人谈到使用它们的缺点.因此,我想知道是否有人会忽视的"有龙"斑点?
Prepared语句只是一个经过解析和预编译的SQL
语句,只等待提供的绑定变量才能执行.
任何执行的语句迟早都会准备好(需要对其进行解析,优化,编译然后执行).
准备好的语句只是重用解析,优化和编译的结果.
通常,即使您不自己使用准备好的查询,数据库系统也会使用某种优化来节省查询准备时间.
Oracle
例如,在解析查询时,首先检查库缓存,如果已经解析了相同的语句,则使用缓存的执行计划.