Php Webdev-点击和日志数据应该在数据库或文件中吗?
我的站点有以下用户数据: 1) 点击IP,定位 2) 登录名,尝试信息 3) 下载尝试信息Php Webdev-点击和日志数据应该在数据库或文件中吗?,php,logging,Php,Logging,我的站点有以下用户数据: 1) 点击IP,定位 2) 登录名,尝试信息 3) 下载尝试信息 将这些信息保存在单独的文件中、每天保存还是保存在数据库中更好?将它们保存在数据库中,这样更容易、更高效,尤其是当您读取数据以获取统计数据/其他信息时。数据库还防止文件写入锁定。应该存储在文件中的东西有限:大部分是大量的二进制数据,如e.x.图像 作为旁注,请确保登录名指向用户表的/A主键(可以是自动递增整数列,也可以是用户名;无论您将其设置为什么)。这将提高性能。文件是记录数据的最佳存储。您不需要每天访问
将这些信息保存在单独的文件中、每天保存还是保存在数据库中更好?将它们保存在数据库中,这样更容易、更高效,尤其是当您读取数据以获取统计数据/其他信息时。数据库还防止文件写入锁定。应该存储在文件中的东西有限:大部分是大量的二进制数据,如e.x.图像
作为旁注,请确保登录名
指向用户表的/A主键(可以是自动递增整数列,也可以是用户名;无论您将其设置为什么)。这将提高性能。文件是记录数据的最佳存储。您不需要每天访问它们,也不希望通常对它们运行查询(这将是决定因素)。通常的日志数据是文本和信息性的,而不是结构化的。文件API最适合附加日志数据。(速度更快,但您不应基于性能方面做出决定。)好吧,这是一个折衷方案
对于文件,它们很容易移动,很容易导出到其他系统,也很容易解析
使用数据库,您可以轻松地进行搜索、报告和安全性
平衡这些优先级取决于您。文件更优先:除了以前的用户所说的,您通常在脚本开始时登录,如果您的数据库认为它会影响脚本的性能,那么在许多情况下,登录到文件的速度会更快
如果需要快速方便的报告,您可以随时根据需要将数据从文件加载到数据库或作为cron作业加载到数据库这里有一些优点;我会接受你的。所有其他答案都很好,+1谢谢大家的帮助。@Steve,很好奇你决定做什么。我选择了数据库解决方案,因为我对统计查询、持久性和安全性更感兴趣。如果这个问题严重失败,我会回来更新这个问题。:)你能详细说明一下为什么不“根据绩效方面做出决定”?史蒂夫:这是很难衡量的。无论如何,你都不想记录每一个事件,除非有几百万用户,否则不会有什么不同。这就是为什么我认为更重要的是只决定日志结构/格式/评估方法。