可以说我有一个非常大的表填充了大量的数据(比如,足够不适合在内存中),我想分析行的子集.通常做得更快:SELECT (column1, column2, ... , columnN) FROM table WHERE (some complicated boolean clause);然后使用Re...

可以说我有一个非常大的表填充了大量的数据(比如,足够不适合在内存中),我想分析行的子集.
通常做得更快:
SELECT (column1, column2, ... , columnN) FROM table WHERE (some complicated boolean clause);
然后使用ResultSet,或者更快做到:
SELECT (column1, column2, ... , columnN) FROM table;
然后迭代ResultSet,根据你的布尔条件的java版本接受不同的行?
我认为这取决于Java迭代器/布尔评估器是否比MySQL布尔评估器更快.
解决方法:
将条件发送到数据库几乎肯定更快.
>您避免传输大量您不需要的数据行.
>数据库可能比表扫描更快地使用某些东西.它可能能够使用一个索引,使其能够更快地找到有趣的行,而无需检查每一行的条件.
织梦狗教程
本文标题为:使用复杂的布尔值来限制MySQL端或Java端的ResultSet是否更快?


基础教程推荐
猜你喜欢
- SpringBoot利用validation实现优雅的校验参数 2023-01-08
- Java Web开发中过滤器和监听器使用详解 2023-06-30
- springboot为异步任务规划自定义线程池的实现 2023-01-02
- Spring框架中 @Autowired 和 @Resource 注解的区别 2023-08-01
- Maven中利用assembly插件打包jar包 2023-08-10
- SpringBoot Profiles 多环境配置及切换 2023-08-08
- Java使用EasyExcel进行单元格合并的问题详解 2023-01-18
- 关于jd-gui启动报This program requires Java 1.8+的错误问题及解决方法 2022-11-11
- RestTemplate的URL请求示例 2022-12-11
- 聊聊maven与jdk版本对应关系 2023-08-10