0

我们在项目中使用 Ibatis。当查询第一次执行时它很慢。但是之后,同组查询比第一次要快一点。那么查询是在第一次执行时编译的吗?

4

2 回答 2

1

iBbatis 与任何基于 JDBC 构建的数据库框架一样,用于PreparedStatement执行 SQL 查询。来自Java JDBC 教程

这样做的好处是,在大多数情况下,此 SQL 语句会立即发送到 DBMS,并在其中进行编译。因此,PreparedStatement 对象不仅包含一条 SQL 语句,还包含一条已预编译的 SQL 语句。

因此,如果通过预编译,您的意思是在数据库上,那么,是的,它们是。

于 2013-08-14T14:44:09.780 回答
1

我想补充一点,编译阶段是 SQL 查询执行流程的主要阶段之一。它只是由您的数据库优化器编译和缓存一次,随后的调用将跳过编译阶段。

于 2013-09-03T03:46:03.117 回答