我有一个脚本可以解析日志文件并最终得到一组特定的数据。
让我们假装$ data包含从日志文件中获取的所有数据。
是否更好:
挂起$ data,打开与数据库的连接,将$ data添加到当前数据库值,将新值写入(更新)到数据库,然后关闭连接, 或
将每组新的$ data作为新的"事务"写入数据库。 - 这意味着每次我们获得一组新的$ data时,我们会在数据库中为它提供相应的记录(行),并在请求时执行AS-NEEDED分析?
tl; dr:立即使用新值更新数据库,进行后期分析并丢弃临时$数据或将所有$数据保存在数据库中并根据需要即时执行分析?
我的想法:选项1看起来效率更高,但如果有2个人同时上传文件怎么办?是否会出现这样的情况:两个人正在使用并向数据库更新2个不同的数据集,而不是一次将其锁定到一个事务中?如果是这种情况,我很乐意设置某种解析队列,但不知道如何做到这一点:]