我需要在我的计算机上运行一个本地python脚本,在发生诸如单击、窗口更改等事件时将记录插入远程数据库。我正在使用sqlalchemy
连接到postgres
数据库。在
问题是我的电脑慢了很多(我不会那样用的)。我正在使用一个本地sqlite
数据库进行测试,它工作得很好,然后切换到远程postgres
,出现了这个性能问题。在
我知道python是同步的,http请求很慢,但我有4个内核,所以从技术上讲,其他进程不会慢这么多。我怎样才能避免这种情况?我在窗户上跑步。在
更新: 事件的频率非常高,因为每次单击、窗口更改和一些击键都会触发插入。在
您所看到的减速是到服务器的网络连接的延迟。在
如果要在for循环中插入行,则每行都将创建并对数据库执行一个查询。在这个过程中,sqlalchemy必须等待每个查询的结果通过网络发回。即使在非常低延迟的网络中,它也可以累积到相当长的时间。在
例如:
可以通过一次添加多行来解决此问题。这样,您将只创建一个查询:
例如:
^{pr2}$相关问题 更多 >
编程相关推荐