我有一个 .txt 文件的大数据库,我想知道什么更快,每次我想访问它时从文件中读取数据或在程序启动时将所有数据加载到变量中,所以我可以从它自己的变量访问它。
PS:也许知道我用 Java 编写代码很重要,但这更像是一个普遍的问题。
答案 0 :(得分:1)
假设你有完美的回忆,但你可以选择忘记。
现在,什么更快?
阅读这本书,记住所有内容,然后在需要信息时从记忆中回忆。
不要看书。当您需要某些信息时,浏览本书,只查找您需要的一小部分信息,而忽略其余部分。当您需要更多信息时,再次浏览本书,但您甚至不知道信息在书中的哪个位置,因为您什么都不记得,因此每次您都需要从头开始阅读。
显然,#1 是方式,方式更快。当然,它需要你的大脑能够记住所有内容,但在性能方面,根本没有可比性。
例外:如果您只需要一条信息,#2 会更快,因为您可以在找到所需信息后立即停止阅读,即您不必阅读整本书。
答案 1 :(得分:0)
简答
变量
长答案
读取文件是一个相当慢的操作。它涉及访问磁盘,这明显比访问内存中已有的变量慢。请注意,当您读取文件时,您需要将其存储在内存中的某个位置,因此您将支付访问内存的时间
您可以使用一些示例来读取文件并测量它花费了多长时间。请记住多次运行代码,以便获得更准确的结果
您应该考虑的另一点是您对数据库的使用情况。如果您只是存储几个值,则可以使用 txt 文件。但是一旦您的存储层变得更加复杂,您可能就需要一个合适的数据库(例如 MySQL、DynamoDB、Mongo)