一尘不染

使用准备好的语句有不利之处吗?

sql

我已经阅读了很多有关准备好的语句的信息,并且在阅读的所有内容中,没有人谈论使用它们的弊端。因此,我想知道是否有人们容易忽视的“有龙”斑点?


阅读 212

收藏
2021-03-10

共1个答案

一尘不染

Prepared语句只是一个经过解析和预编译的SQL语句,它仅等待提供绑定变量的执行。

任何执行的语句迟早都会准备(需要解析,优化,编译然后执行)。

一条准备好的语句只是重用了解析,优化和编译的结果。

通常,即使您自己不使用准备好的查询,数据库系统也会使用某种优化来节省查询准备的时间。

Oracle,例如,在解析查询时首先检查库缓存,并且如果已经解析了相同的语句,它将使用缓存的执行计划。

2021-03-10