我是否在生产中记录SQL查询时遇到了两难。
我不知道在PHP中写文件的速度有多慢。可能一些基准可能会给出一些答案,但我想看看你们之前的想法。
什么做或不做这个过程慢?或者它可以依赖什么?
答案 0 :(得分:3)
大多数数据库都有用于记录查询和慢查询的内置选项,因此您不需要登录PHP。除非遇到问题,否则不应将所有查询都记录在生产中,这是故障排除过程的一部分。您可以而且应该记录缓慢的查询,以便您可以看到可能会减慢生产站点的速度。
如果框架支持它,只有在页面花费一定时间生成时才能记录查询(这就是我所做的)。然后,您将有条件地进行日志记录,并且可能会发现正在运行的查询数量过多。
答案 1 :(得分:1)
您有几个选择:
答案 2 :(得分:0)
嗯,通过点击数据库,磁盘IO的第一件事就是速度慢。最好的答案是你在一些非平凡的情况下尝试它(记住,小n的一切都很快),并询问一些利益相关者,如果性能是可接受的。它可能不是你想要的答案,但它确实是最好的答案。
答案 3 :(得分:0)
对于记录(您没有指定数据库),Postgresql与日志记录有bunch of options。其中,我使用 log_min_duration_statement 来记录运行时间超过N秒的查询。用于分析,无需填写日志文件和干扰性能。我敢打赌,大多数数据库都有类似的东西。