在我的 Android 应用程序中,我必须使用数据库中的数据填充 arraylist 对象。还应对数据进行排序。所以我有两种方式。
其中效率更高,对运行时影响较小。需要一些帮助。谢谢!
答案 0 :(得分:2)
使用SQL从数据库中取出数据并对其进行排序 阵列
如果您能够在数据库级别对数据进行排序,请执行此操作。在内存中对数据库级别进行排序要快得多 - 特别是如果在许多记录的情况下限制了内存。 通过使用提供许多数据库的索引,还可以提高性能。
因此,如果您能够并且能够在数据库中排序,则在数据库中排序。如果没有,请在应用程序中进行排序,但在这里您受到内存的限制,排序速度会明显变慢。
注意:值得一提的是,如果您的排序算法在运行时非常容易变化(频率很高并且在从数据库中检索数据后开始更改),那么考虑在应用程序中进行排序是一种很好的方法。不在数据库中并制作一些 分析侧重于应用要求(例如性能)带来的优势和劣势。
答案 1 :(得分:1)
这取决于很多事情。但对于一般情况,从数据库中排序更好,因为它可能在内部使用索引。
答案 2 :(得分:1)
数据库是为按特定顺序检索数据而构建的,因此如果您有选择,请使用数据库进行排序。
但是,如果您的排序要求很复杂且难以用数据库语言编码,那么您应该自己完成。
答案 3 :(得分:1)
如果您的数据集很小,那么您可以编程方式对数据进行排序,因为您可以进行复杂的排序。
但是如果您的数据集很大,那么数据库排序是最好的方法。在我看来,最好采用数据库排序。在SQL中查看ORDER BY
。
答案 4 :(得分:1)
如果您使用一些简单的逻辑进行排序,那么最好从数据库中进行排序。如果它是复杂的逻辑,那么Java端排序是更好的选择。