通过PHP登录到文件或登录MySQL数据库 - 哪个更快?

11 php mysql

我有一个数据库驱动的网站,提供约50,000页.

我想跟踪每个网页/记录命中.我将通过创建日志,然后每天批量处理日志一次来完成此操作.我并不关心如何以最快的方式记录批处理.

你会如何记录,你认为哪个更快:

a)使用PHP附加到文本日志文件的末尾.

b)使用MySQL插入非索引日志表.

Squ*_*Cog 17

  1. 写入文件.旋转日志.

  2. 按计划将文件批量加载到数据库.

选择这种架构有很多很多理由 - 易于扩展(写入许多日志,将它们加载到数据库),缺乏对数据库中SPOF的依赖(如果出现问题,你只需要累积一段时间的日志) ,能够在加载时进行清理和非平凡的解析,而不会给生产服务器带来负担,等等.


ale*_*rul 7

您可以使用log4php尝试两种方式,它支持:

  • 通过xml和属性文件配置(与log4j相同的结构).
  • File,RollingFile,DailyFile,Echo,Console,Mail,PEAR :: Db,PHP错误,Syslog或NT事件和套接字appender.
  • 简单,TTCC,模式,Html和Xml布局.
  • 嵌套(NDC)和映射(MDC)诊断上下文.
  • 可切换的内部调试.

关于登录到文件,您可以通过缓冲写入请求来提高性能.


Eri*_*gue 6

我会在MySQL中使用延迟插入.这样您就不必等待插入完成.

  • 除非无法保证他们会实际插入.大多数时候,他们会...但由于这是记录,你可能想要了解特殊情况甚至比常规情况更多! (3认同)
  • 现在这已被删除了!http://dev.mysql.com/doc/refman/5.6/en/insert-delayed.html (2认同)

Rob*_*use 2

我相信平面文件的写入速度会更快。