您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使Python / PostgreSQL更快?

如何使Python / PostgreSQL更快?

不要浪费时间进行分析。时间总是在数据库操作中。尽可能少做。仅插入的最小数量

三件事。

一。不要一遍又一遍地选择“日期”,“主机名”和“人”维度。将所有数据一次提取到Python字典中并在内存中使用。不要重复进行单例选择。使用Python。

二。不要更新。

具体而言,请勿执行此操作。这是不好的代码,有两个原因。

cursor.execute("UPDATE people SET chats_count = chats_count + 1 WHERE id = '%s'" % person_id)

用简单的SELECT COUNT(*)FROM …代替。从不更新以增加计数。只需使用SELECT语句计算行数即可。[如果无法使用简单的SELECT COUNT或SELECT COUNT(DISTINCT)来完成此操作,则将丢失一些数据-数据模型应始终提供正确的完整计数。永不更新。]

和。切勿使用字符串替换来构建sql。完全傻了。

如果由于某种原因SELECT COUNT(*)速度不够快(首先进行基准测试,然后再执行任何la脚操作),则可以将计数结果缓存在另一个表中。在所有负载之后。做一个SELECT COUNT(*) FROM whatever GROUP BY whatever并将其插入到计数表中。不要更新。曾经

三。使用绑定变量。总是。

cursor.execute( "INSERT INTO ... VALUES( %(x)s, %(y)s, %(z)s )", {'x':person_id, 'y':time_to_string(time), 'z':channel,} )

sql永不更改。值必然会更改,但是sql永远不会更改。这要快得多。切勿动态构建sql语句。决不。

SQLServer 2022/1/1 18:28:47 有552人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶