gpt4 book ai didi

database - 关于Java中的Prepared Statement的问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:50 26 4
gpt4 key购买 nike

我们在 Java 中有一个 Prepared Statement,我们听说它与 Statement 的不同之处在于,这个 Prepared Statement 不需要在每次使用时都进行编译。

我的问题是这个 Compiled Statement 存储在哪里?在使用它的客户端代码中还是由数据库存储?

为什么数据库要存储编译语句,如果存储了多长时间?

最佳答案

数据库有一个查询缓存,这意味着当您执行查询时,数据库会缓存解析/编译的查询,也许还有查询计划以消除 future 的计算。

准备好的语句通常首先缓存在应用程序级别,应用程序容器负责管理语句缓存。大多数应用程序容器都有控制准备好的语句缓存的选项(例如:glassfish)。

如你所见here ,主要区别就像您所说的那样:使用准备好的语句,应用程序可以减少一遍又一遍地编译相同语句的成本。作为旁注,对于大多数应用程序容器,语句必须完全相同(包括空格)才能正确重用,因此在使用手写查询时要小心。

关于database - 关于Java中的Prepared Statement的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/828817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com