什么是预编译 SQL 语句? [复制]

Posted

技术标签:

【中文标题】什么是预编译 SQL 语句? [复制]【英文标题】:What is pre-compiled SQL statement? [duplicate] 【发布时间】:2015-06-02 05:04:26 【问题描述】:

PreparedStatement 是一个precompiled 语句,因此它会在运行时提高 jdbc 性能,但仍然感到困惑

    什么是预编译 SQL 语句?它有什么作用? 为什么预编译语句比普通 SQL 语句更快?

【问题讨论】:

【参考方案1】:

任何数据库在运行 SQL 查询时都会使用以下步骤:

    将给定的 SQL 查询转换为 DB 格式 检查语法 检查语义 准备执行计划 将运行时值设置到查询中 运行查询并获取输出

在Statement接口的情况下,每次查询执行都需要遵循以上6个步骤。但是,在 PreparedStatement 接口的情况下,步骤 1 到 4 只会执行一次,并且每次执行查询都会重复步骤 5 和 6。这使得 PreparedStatement 更快。

希望这能回答您的问题...

【讨论】:

以上是关于什么是预编译 SQL 语句? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的预编译功能

MySQL的预编译功能

JDBC预编译语言

Mysql的预编译和批处理

JDBC中为啥preparestatement更安全?

prepareStatement与Statement的区别