数据库
首页 > 数据库> > 使用复杂的布尔值来限制MySQL端或Java端的ResultSet是否更快?

使用复杂的布尔值来限制MySQL端或Java端的ResultSet是否更快?

作者:互联网

可以说我有一个非常大的表填充了大量的数据(比如,足够不适合在内存中),我想分析行的子集.

通常做得更快:

SELECT (column1, column2, ... , columnN) FROM table WHERE (some complicated boolean clause);

然后使用ResultSet,或者更快做到:

SELECT (column1, column2, ... , columnN) FROM table;

然后迭代ResultSet,根据你的布尔条件的java版本接受不同的行?

我认为这取决于Java迭代器/布尔评估器是否比MySQL布尔评估器更快.

解决方法:

将条件发送到数据库几乎肯定更快.

>您避免传输大量您不需要的数据行.
>数据库可能比表扫描更快地使用某些东西.它可能能够使用一个索引,使其能够更快地找到有趣的行,而无需检查每一行的条件.

标签:java,database,boolean-operations
来源: https://codeday.me/bug/20190712/1438432.html