创建依赖于数据库中信息的python脚本的最佳方法/方法是什么。例如:
数据不断添加到数据库中。如果标准偏差基于某些列" A"超过1,1.5或2,根据用户偏好得到通知。因此,如果用户将设置设置为1.5,则会在St.Dev高于1.5时收到通知。
向用户推送信息不是问题,如何最佳地监控数据库以进行更新。
到目前为止,我想到了三种方式:
While True:
和sleep
组合我缺少的任何其他更优化或开箱即用的解决方案?
答案 0 :(得分:2)
我没有在MySQL中专门做过这个,但是对于大多数事情来说,触发器实际上在Oracle中进行了大量优化。我希望MySQL类似。如果您需要在每次更新时运行计算,则触发器绝对是最快的方法,并且唯一有保证的方法始终是最新的。
我想如果您使用外部脚本,那么每隔几分钟就会运行一次?这肯定比在每次更新时运行触发器更快,但MySQL也有基于时间的触发器http://dev.mysql.com/doc/refman/5.1/en/events.html
使用触发器,触发器的编译SQL将最有可能保留在数据库实例的内存中。编译SQL很快。
我还认为将这类事情作为触发器完成,而不是维护外部脚本通常更清晰。这只是我的观点。
如果您的数据非常大,您可能会使用移动平均公式,并可能减少计算总数。似乎有可能,但我没有数学背景来帮助你。
总之,将示例表放在一起并使用触发器进行测试很容易。试一试,我认为您会发现它符合您的性能需求。如果我没有兴趣看到结果。