直接进入正题
# 慢:for循环逐条跑SQL,10000次查询for user_id in user_list: df = pd.read_sql(f"SELECT SUM(amount) FROM orders WHERE user_id={user_id}", conn)#3行代码提速版# 1行:一次把数据拉进内存(百万行也就几十MB)df = pd.read_sql("SELECT user_id, amount FROM orders", conn)# 2行:pandas内存聚合(比SQL GROUP BY快10~50倍)result = df.groupby('user_id')['amount'].sum()# 3行:只取你关心的用户(内存级过滤,微秒级)output = result.reindex(你关心的user_id)
你学会了吗?