gpt4 book ai didi

database - 每个页面 View 的成本更高 - 数据库写入还是文件写入?

转载 作者:太空狗 更新时间:2023-10-30 01:48:03 27 4
gpt4 key购买 nike

当您需要在应用程序的每个页面 View 上记录一些数据时,最有效的解决方案是什么 - 您应该写入文件还是写入数据库?

或者两者都不是 - 也许您应该将数据缓存在内存或文件中,并且只偶尔将其写入数据库(或文件系统,如果您使用内存缓存)?

最佳答案

如果它只是记录少量数据而不进行后续查找,直接文件 I/O 几乎可以保证更高效。但是,您正在失去 DBMS 的所有优势——索引、事务完整性(实际上,一般来说是 ACID)、并发访问等。

这听起来几乎像是您在谈论什么相当于简单的日志记录。如果是这种情况,并且您不需要对结果数据进行频繁的复杂查询,那么如果性能是一个严重的问题,您最好使用直接文件 I/O。不过,请注意并发写入问题。

如果 RDBMS 的属性是可取的,您可能会考虑使用 SQLite,对于简单的负载,与大多数 RDBMS 相比,它会以更少的开销获得更好的性能,但会牺牲一些好处(高并发访问和可用性)到其他机器的网络是几个“大人物”)。不过,在一般情况下,它仍然不如直接文件 I/O 快。

您后来提到它用于页面浏览量跟踪,这让我问:您是在递增计数器,而不是记录有关页面浏览量的数据吗?如果是这样,我强烈建议使用像 SQLite 这样的东西(做像 UPDATE tbl SET counter = counter+1 这样的事情)。你真的不想陷入手动执行此操作所涉及的时间问题——如果你做得不对,你将开始失去对同时访问的计数(A 读为“100”,B 读为“100” ,A写“101”,B写“101”;B应该写了102,但不知道)。

关于database - 每个页面 View 的成本更高 - 数据库写入还是文件写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/888809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com