gpt4 book ai didi

java - "LIKE ?"比 LIKE '%' 更有效吗 ||?| |'%'

转载 作者:搜寻专家 更新时间:2023-11-01 02:55:04 25 4
gpt4 key购买 nike

最近我的一位同事发表评论说我不应该使用

LIKE '%'||?||'%'

宁可使用

LIKE ?

在 SQL 中然后替换 LIKE ?在我执行 SQL 之前用 LIKE '%'||?||'%' 标记。他指出,使用单个参数标记的 DB2 数据库将始终缓存语句,从而减少 SQL 准备时间。

但是,我不确定它是否准确。对我来说应该是相反的方式,因为每次执行查询时我们都通过在 SQL 上进行字符串替换来进行更多处理。

有谁知道单个标记是否真的可以加快执行速度?仅供引用——我使用的是 Spring 2.5 JDBC 框架,DB2 版本是 9.2。

我的问题是 - DB2 是否处理“LIKE”?就缓存和准备而言,不同于“LIKE '%'||?||'%'”。

最佳答案

“喜欢?”是一个准备好的语句。准备好的语句是 JDBC 驱动程序级别的优化。想法是数据库分析查询以决定如何最有效地处理它们。然后,数据库可以缓存生成的查询计划,以完整的语句为关键字。重用相同的语句会重用查询计划。所以基本上,如果您使用不同的比较字符串多次运行相同的查询,并且如果查询计划保持缓存状态,那么是的,使用“LIKE?”会更快。

有关 PreparedStatements 的一些有用(虽然有些过时)信息:

关于java - "LIKE ?"比 LIKE '%' 更有效吗 ||?| |'%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142508/

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