我在一个文件中有10000多条记录。我读取文件并将记录保存在ArrayList中,我的Web应用程序经常读取arraylist。
我只对arraylist进行阅读操作。
然而,Web应用程序的性能很慢。
将数据保存在数据库中并从数据库中读取是否更好。
或者我可以使用其他任何收藏品。
答案 0 :(得分:1)
使用ArrayList<MyRecord>
您没有一个好的查找方法,因此您的代码可能会在您需要查找记录时进行序列搜索。
如果您只查找一个值,例如名称,然后更改为HashMap<String, MyRecord>
。这将允许直接查找而无需序列搜索。
如果您使用各种值进行查找,请保持ArrayList<MyRecord>
左右,但要构建多个地图,每个地图对应一个查找字段(或一组字段)。
这些地图与数据库中的索引基本相同。
现在,如果数据更新,情况就大不相同了。更新是否要求您立即再次写入整个文件?如果程序在写入中途死亡怎么办?数据库具有内置防护,有助于防止数据丢失,并且还允许在同时运行的多个程序之间共享数据。