使用SQLAlchemy从数据库检索行时,可能会使用:
query = "SELECT some_col FROM some_table"
row = session.execute(query).fetchone()
然而,您也可以这样做:
query = "SELECT some_col FROM some_table LIMIT 1"
row = session.execute(query).fetchall()
有没有什么理由偏好其中之一,例如更好的性能?
LIMIT 1
的情况下调用.fetchall()
,则会返回一个仅包含单个元素的集合,您需要索引或迭代才能使用。最好使用限制查询和.fetchone()
,这样您就可以立即返回单个行。 - SuperShoot