zoukankan      html  css  js  c++  java
  • 数据量过多,jdbc中的in查询失败

    这个问题是最近工作中遇到的,希望看到的同仁可以多发表下见解,互相学习一下,

    原本是要实现根据一个list里面的挂号记录id查询收费的项目,临时加的一个小变动,于是乎,我想着直接jdbctempate将in后面的参数拼进去吧别搞一个服务了,整接口那么繁琐,而后证明我毕竟还是too young ,问了下同事,医院的挂号记录一天能产生一两百条,查一个月的数据保守估计得4000+,怎么办,发现其实大数据的查询还是不要拼sql或者预编译sql,这样反而会显得更慢,这主要是oracle考虑性能问题做的限制,关联相关业务表去直接查询,以下是简单例子

    例如:select  a from table_1 where a.2id in (符合业务规则table_2的id),

    改成

    select  a from table_1 where a.2id in (select id from table_2 where .... )

    另外相关字段加上索引,改成exists版本效果会更佳,不知各位同仁还有什么好的优化方法 ,虚心学习之!

  • 相关阅读:
    Bundle 机制
    三次握手和四次挥手
    SparseArray
    ThreadLocal ——android消息机制handler在非主线程创建not called Looper.prepare() 错误的原因
    怎么去除重复代码
    ClassLoader
    android的四种线程池
    LeetCode#50 Pow(x, n)
    LeetCode#49 Anagrams
    LeetCode#48 Rotate Image
  • 原文地址:https://www.cnblogs.com/wujunjie/p/5670551.html
Copyright © 2011-2022 走看看