【发布时间】:2010-11-06 16:19:57
【问题描述】:
我必须针对用户名运行 40K 请求:
SELECT * from user WHERE login = :login
这很慢,所以我想我会使用准备好的语句。
所以我愿意
e = sqlalchemy.create_engine(...)
c = e.connect()
c.execute("PREPARE userinfo(text) AS SELECT * from user WHERE login = $1")
r = c.execute("EXECUTE userinfo('bob')")
for x in r:
do_foo()
但我有一个:
InterfaceError: (InterfaceError) cursor already closed None None
我不明白为什么会出现异常
【问题讨论】:
-
为我工作。您使用的是什么版本,0.5 (r5236) 之前的游标处理略有变化,可以解决此问题。但即使它有效,我也非常怀疑解析和规划开销是否足够大,以至于它真的很重要。如下所示,更好地批量处理。
标签: python sqlalchemy