Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 查询大表并在代码中执行逻辑或执行大量查询。。哪一个更有效?_Android_Performance_Sqlite - Fatal编程技术网

Android 查询大表并在代码中执行逻辑或执行大量查询。。哪一个更有效?

Android 查询大表并在代码中执行逻辑或执行大量查询。。哪一个更有效?,android,performance,sqlite,Android,Performance,Sqlite,我有一个非常大的表,大约90000行,每行包含10列。。我需要从数据库中获取一些数据。。在最坏的情况下,我需要查询7500行,但通常是大约4000行 每行有一列称为“行号”,每~10行有相同的行号,从1开始… 对于所有具有相同行号的行,我需要从名为RATING.的列中获取最低和最高的行号 我可以得到所有这些~4000行,然后将其中的每一行都传递出去,并进行一些逻辑运算以得到最高或最低的.. 或者我可以查询我感兴趣的每个行号,让查询得到最高和最低的行号,这会更容易 这两种方法中哪一种更有效?我支持

我有一个非常大的表,大约90000行,每行包含10列。。我需要从数据库中获取一些数据。。在最坏的情况下,我需要查询7500行,但通常是大约4000行

每行有一列称为“行号”,每~10行有相同的行号,从1开始…
对于所有具有相同行号的行,我需要从名为RATING.的列中获取最低和最高的行号

我可以得到所有这些~4000行,然后将其中的每一行都传递出去,并进行一些逻辑运算以得到最高或最低的..
或者我可以查询我感兴趣的每个行号,让查询得到最高和最低的行号,这会更容易


这两种方法中哪一种更有效?

我支持查询。乍一看,查询非常简单:

SELECT LineNumber MIN(RATING) MAX(RATING) FROM <YOUR_TABLE> WHERE... GROUP BY LineNumber
从以下位置选择线号最小(额定值)最大(额定值)。。。按行号分组

这应该会给你想要的东西(如果我理解正确的话)

我和你一样有一些问题,但在我的例子中是关于日期的,获取“之后”和“之前”

我在代码中做了,我查询了我需要的所有数据,然后我比较了日期,在大约40k行中,时间接近20秒

所以我试着把逻辑放进SQL,当我得到查询时,我做比较,让我惊讶的是现在查询,我所需要的一切都在不到2秒内完成

我的建议是首先尝试将逻辑放入查询中,如果结果不令人满意,请尝试代码,看看什么是最好的

祝你好运

[]的 伯坦