标签: python sqlite
sqlite3.Cursor.__iter__方法是否懒惰?即它是否预先计算所有行,然后在迭代时产生它们,或者仅当我迭代它们时才计算行?我问这个是因为我正在考虑是否在我的SQL查询中添加LIMIT子句。
sqlite3.Cursor.__iter__
LIMIT
答案 0 :(得分:2)
SQLite C API很懒惰; sqlite3_step函数动态计算下一个结果行。
对于Python的sqlite3模块,source code显示pysqlite_cursor_iternext函数调用pysqlite_step一次。
sqlite3
pysqlite_cursor_iternext
pysqlite_step