我知道在正常情况下从文件读取/写入的速度更快,但如果我创建了聊天系统: 从文件写入和读取数据或在数据库中插入/选择数据和结果会更快吗?
答案 0 :(得分:8)
数据库更快。对你来说很重要,处理并发访问。
答案 1 :(得分:2)
每次有人打字时,你真的想要机械磁盘动作吗?写入磁盘是一个可怕的想法。缓存内存中的消息。将消息发送给会议室中的所有用户后清除该消息。缓存将保持较小,大部分时间为空。如果您不需要历史记录日志,这是您的最佳选择。
但是如果你需要一个日志......
如果你在1遍中写入大量数据,我保证该文件将吸引数据库插入性能。数据库的批量插入功能可能与文件匹配,但它需要文件数据源才能开始。您需要在内存中排队很多消息,然后定期刷新到文件。
对于许多小写,差距将关闭,数据库将继续前进。索引将影响插入速度。如果成千上万的用户插入到索引严重的表中,您可能会遇到问题。
进行自己的测试以证明速度更快。模拟实际负载,而不是1个用户测试。
答案 2 :(得分:0)
到目前为止的数据库。
数据库针对数据存储进行了优化,并根据您的情况不断更新和更改。文件存储用于长期存储,几乎没有变化。
(即使文件更快,我仍然会使用数据库,因为它更容易开发和维护)
答案 3 :(得分:0)
由于我假设你的系统会连续写入/读取数据(当人们输入他们的信息时),因为文件处理程序,将它们写入文件需要更长的时间,即
我会选择db。