哪个更好的日志系统(历史)MySQL表或服务器上的文本文件?

时间:2018-03-29 01:52:10

标签: php mysql file web

我为商店创建了一个带有Web界面(PHP)的数据库,我制作了一个日志系统"历史页面"因此,对库存进行的每项更改都将得到保存。我用一个包含5列的MySQL表(日期/用户/操作/产品/更改)制作了它,但是如果我创建了一个文件" log.txt"每次用户采取行动时都会改变?哪个更好/更快,为什么?

2 个答案:

答案 0 :(得分:0)

对于文本文件,除非您创建的系统确保文件一次只能由一个线程写入(就像日志框架一样),否则可能会遇到并发问题。

“SQL表”(MS SQL / MySQL / Postgres等)将能够一次处理许多并发日志消息。然而,它有点矫枉过正,随着您的表增长,对该表的一些查询可能会减慢您的数据库文件大小也会增长。

鉴于您的场景(带有历史记录页面的php Web应用程序),SQL优于文本文件。

答案 1 :(得分:-1)

两者基本上是一回事吗?两者都将数据存储到文件中并从文件中读取数据。

通常我会说,如果您需要在文件中查找特定数据,数据库将更容易和更快地访问该数据。如果您只需要附加数据然后读取,例如最后1000行,则文本文件将更容易,更快。

如果您决定使用该路由,我建议使用日志实用程序将日志写入文本文件。日志实用程序将处理并发问题。