我正在使用
执行自定义构建的DML语句namedParameterJdbcTemplate.update(sql, valueMap);
调用,根据地图中的值构建sql
。在这里,我的地图可能变得非常大,因此sql也可能变得非常冗长。我知道在Oracle中,查询的持续时间没有固定的数字,并且有许多因素,包括可能影响此值的数据库配置,但我想将查询长度限制为固定数量。
限制查询长度的最佳方法是什么?弹簧批API在这里有用吗?
提前感谢任何指示。
答案 0 :(得分:1)
我会选择其中一种方法:
临时表 - 将数据批量插入临时表,然后对该表使用MERGE INTO语句。
为您的行创建SQL类型并仅绑定该参数。 (google for OraData - 它有点棘手,但它有效)
两者都可以让您拥有一个小的静态查询,从而避免查询过大(及其解析,污染库缓存等)的潜在问题。