A方式: 将数据库中2w条数据取出存在一个List中,程序每次直接从List中进行查询得到想要的数据。
 B方式: 每次直接从数据库中查询得到想要的数据;   A与B相比较,哪种方式的效率更高?

解决方案 »

  1.   

    2W条还不算多,可以A   大型数据B较高
      

  2.   

    肯定是a啊,b需要与db交互,交互很花时间的。
      

  3.   

    关键是从list中查询数据得从头到尾遍历list,这个也费时间吧
      

  4.   

    感觉楼主的操作并不是一时完成的,似乎还有各种增删改等操作,那我还是推荐B
    存在List的话或多或少都会有缓存的问题吧,一旦程序在更新数据库之前崩溃了呢,那你之前缓存中处理的数据岂不是无忌可循了么,而且每次的增删改查都去动一个2W多的List感觉很不划算啊
      

  5.   

    我怀疑你看问题了没有, 2W条记录是从哪来的?晕死,我怀疑你明白我的意思没。
    我说的是A只需第一次和DB交互,以后查询就不需要了。
    而B每次查询都要交互一次。
      

  6.   

    我感觉一般情况都是B吧
    从数据库角度 2w条数据数据库本身的io时间也不算太少吧,如果表不小的话,传输时间也不短
    从程序角度来说 你的2w条数据放到内存中如果是大对象内存多大也好 gc频繁了 系统岂不更慢?
      

  7.   

    选B,A的话恐怕会报OOM,B的话做个存储过程效率嗷嗷滴。
      

  8.   

    2w条,只是查询,没有增删改,理论上A方式要好,但不知A方式中检索数据的效率如何了