有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与访问mysql数据库中的相同数据相比,访问java列表(arraylist)是否更快?

我在运行java程序的本地机器中有MYSQL数据库

我计划创建一个特定表的所有条目的数组列表。从现在开始,我将不访问数据库来获取表中的特定条目,而是使用创建的数组列表。与访问数据库以获取表中的特定条目相比,这是更快还是更慢

请注意,我感兴趣的表格大约有200万条条目

多谢各位

更多信息:我只需要两个字段。1个为Long类型,1个为String类型。表的索引是长的,不是int


共 (4) 个答案

  1. # 1 楼答案

    这取决于您将如何处理数据。如果您只需要几行,那么应该只从数据库中获取这些行。如果您知道您需要所有的数据,那么请继续将整个表加载到java中,如果它可以放入内存中的话。之后你会怎么处理它?顺序阅读还是随机阅读?数据会被改变吗?地图或集合可能是更快的选择,具体取决于集合的使用方式

  2. # 2 楼答案

    它是快还是慢是可以测量的。时间到了。使用存储在内存中的结构肯定比使用位于磁盘上的数据表更快。这是如果您有足够的内存,并且没有20个用户同时运行同一进程

    如何访问数据?你有整数索引吗

  3. # 3 楼答案

    这个问题太模糊,很容易出现两种情况,具体取决于:

    1. 每个记录中有多少字段,字段有多大
    2. 您将执行什么样的访问?文本搜索?连续的

    例如,如果每个记录都由几个字节的数据组成,那么将它们全部存储在内存中的速度要快得多(但不一定是ArrayList)。例如,您可能希望将它们放入树集中

  4. # 4 楼答案

    首先,访问数组列表比访问数据库快得多。访问内存比访问硬盘快得多。 如果数组中的条目数量很大,我想是的,那么你需要考虑使用一个“直接访问”数据结构,比如一个HasMead,它将充当一个数据库表,其中的值由其键

    引用。