2007-12-26
oracle sql =号左边含有 TRIM 严重影响性能!
关键字: oracle trim这学期的项目中,用hibernate和oracle。表结构我们不能改,这样的遗留系统用hibernate有点麻烦。汗!别人把可变长的字符类型设计为CHAR,郁闷死。这样所有?形式的sql语句基本上无效(不是恰好这么长就找不到数据),这是oracle的JDBC限定了(mysql的JDBC不会)。然后就想到在=号左边用TRIM可以解决PrepareStatement找不到数据的问题。
麻烦来了。同学用100W行数据来测试。发现比较卡。然后追踪hibernate的SQL日志发现有trim的语句就慢。然后把此SQL语句在PL/SQL客户端试下,发现在26秒才能找到结果。汗!这么严重!去了TRIM不到1秒的事情。
字段类型的设计不好,就这样...
用TRIM的初衷是为了解决 oracle jdbc char 字段 PreparedStatement 查询问题 .
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 8977 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
我的相册
法拉利
共 2 张
共 2 张
最近加入圈子
最新评论
-
[原]自己实现的优先队列 ...
lucene 2.32 中用来实现查询结果存放缓存的时候 在代码里有一个这 ...
-- by moshalanye -
Levenshtein Distance(LD) ...
抄袭检测是,参考: http://www.merriampark.com/ld. ...
-- by chenlb -
Levenshtein Distance(LD) ...
我觉得这个在检查抄袭上估计不行,这个方法好像更关注交换程度,因为抄袭是关键词差不 ...
-- by minstrel -
[原]自己实现的优先队列 ...
引用于是,在有空的时间里写了一下。内容是一个双向链表(带头的,头不作保存数据), ...
-- by stephen -
[原]自己实现的优先队列 ...
取决于你需要解决的问题,插入排序用TreeSet。 插入和移除手段可以多样,真正 ...
-- by llade






评论排行榜