对List进行子集查询的效率 A方式: 将数据库中2w条数据取出存在一个List中,程序每次直接从List中进行查询得到想要的数据。 B方式: 每次直接从数据库中查询得到想要的数据; A与B相比较,哪种方式的效率更高? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 2W条还不算多,可以A 大型数据B较高 肯定是a啊,b需要与db交互,交互很花时间的。 关键是从list中查询数据得从头到尾遍历list,这个也费时间吧 感觉楼主的操作并不是一时完成的,似乎还有各种增删改等操作,那我还是推荐B存在List的话或多或少都会有缓存的问题吧,一旦程序在更新数据库之前崩溃了呢,那你之前缓存中处理的数据岂不是无忌可循了么,而且每次的增删改查都去动一个2W多的List感觉很不划算啊 我怀疑你看问题了没有, 2W条记录是从哪来的?晕死,我怀疑你明白我的意思没。我说的是A只需第一次和DB交互,以后查询就不需要了。而B每次查询都要交互一次。 我感觉一般情况都是B吧从数据库角度 2w条数据数据库本身的io时间也不算太少吧,如果表不小的话,传输时间也不短从程序角度来说 你的2w条数据放到内存中如果是大对象内存多大也好 gc频繁了 系统岂不更慢? 选B,A的话恐怕会报OOM,B的话做个存储过程效率嗷嗷滴。 2w条,只是查询,没有增删改,理论上A方式要好,但不知A方式中检索数据的效率如何了 java 初学者遇到的怪问题 ,请高手解答一下 数据类型转换的问题? tomcat6.0 端口范围 Servlet 实现另存为问题! 关于统计个数和算百分比的问题 一个从超链接取值的问题,急,大家帮帮~ 页面注销时,如何将SESSION设置为空 javaee工作好找不 大家帮忙看一下急死我了,在线等待100分!!!!!!!!! 连接mysql时出现java.lang.NullPointerException? 求解tomcat5.0启动报错localhost failed to start javamail 读 163 邮件
存在List的话或多或少都会有缓存的问题吧,一旦程序在更新数据库之前崩溃了呢,那你之前缓存中处理的数据岂不是无忌可循了么,而且每次的增删改查都去动一个2W多的List感觉很不划算啊
我说的是A只需第一次和DB交互,以后查询就不需要了。
而B每次查询都要交互一次。
从数据库角度 2w条数据数据库本身的io时间也不算太少吧,如果表不小的话,传输时间也不短
从程序角度来说 你的2w条数据放到内存中如果是大对象内存多大也好 gc频繁了 系统岂不更慢?