这是一个真正的PHP面试问题。我知道答案不仅仅是哪一个更快。我们可以在很多方面回答这个问题。有人可以给我一些建议吗?
答案 0 :(得分:2)
文件:
数据库:
答案 1 :(得分:1)
这是一个没有正确答案的面试问题的例子。可以针对这两种情况做出一个案例。
对于文件,您可能会说它们可以快速加载,有很多内核优化可以从磁盘中获取它们并将它们提供给用户进程,甚至可以通过类似的方式将它们直接从磁盘发送到套接字。 sendfile
。那是真的。
然后对于数据库,您可以说经常访问的数据存储在内存中,因此没有I / O往返磁盘,这可能会更快,特别是如果您使用次优结构比较文件的读取部分数据库中的记录。这也是一个算法问题。
所以它实际上取决于涉及哪种类型的文件和哪种读/写访问模式。要说这些事情中的任何一个更快就会错过问题的重点。
答案 2 :(得分:0)
读一个文件=快。
读取很多/大文件=慢。
从数据库中读取单个小条目=浪费I / O.
组合数据库中的许多条目=比文件访问更快。