【发布时间】:2011-04-27 06:46:56
【问题描述】:
我一直在 python 应用程序中使用 sqlite3,在测试它时,我的查询有时会导致程序冻结。一个粗略的(凭记忆)示例:
SELECT id,name FROM main_table WHERE name IN
(SELECT name FROM another_table WHERE another_table.attribute IN
('foo', 'bar', 'baz'))
通常,当我第一次尝试这样的事情时,程序只是冻结了。现在,如果我先尝试子查询,然后再尝试整个嵌套的混乱,它几乎可以立即运行。
我猜它正在缓存第一个更简单查询的结果以供以后使用,这会使下一次的处理速度更快,但即便如此,我还是想知道如何首先避免这种停滞。
【问题讨论】: