我为商店创建了一个带有Web界面(PHP)的数据库,我制作了一个日志系统"历史页面"因此,对库存进行的每项更改都将得到保存。我用一个包含5列的MySQL表(日期/用户/操作/产品/更改)制作了它,但是如果我创建了一个文件" log.txt"每次用户采取行动时都会改变?哪个更好/更快,为什么?
答案 0 :(得分:0)
对于文本文件,除非您创建的系统确保文件一次只能由一个线程写入(就像日志框架一样),否则可能会遇到并发问题。
“SQL表”(MS SQL / MySQL / Postgres等)将能够一次处理许多并发日志消息。然而,它有点矫枉过正,随着您的表增长,对该表的一些查询可能会减慢您的数据库文件大小也会增长。
鉴于您的场景(带有历史记录页面的php Web应用程序),SQL优于文本文件。
答案 1 :(得分:-1)
两者基本上是一回事吗?两者都将数据存储到文件中并从文件中读取数据。
通常我会说,如果您需要在文件中查找特定数据,数据库将更容易和更快地访问该数据。如果您只需要附加数据然后读取,例如最后1000行,则文本文件将更容易,更快。
如果您决定使用该路由,我建议使用日志实用程序将日志写入文本文件。日志实用程序将处理并发问题。