MySQL、fetchone 和 LIMIT

MySQL, fetchone and LIMIT

这是 python 代码的示例:

query = "SELECT * FROM users WHERE id = 17"
cursor.execute(query)
row = cursor.fetchone()

在这个例子中,查询意味着最多 return 一行;但有时我想使用相同的代码从多行结果中获取单行,例如:

query = "SELECT * FROM users WHERE name LIKE 'foo%'"
cursor.execute(query)
row = cursor.fetchone()

在性能方面,显式写成LIMIT 1更好吗?

不是,LIMIT子句是在Result集上SELECT之后执行的。如果你有很多 id = 17 的行,如果你不使用 LIMIT,你必须从服务器传输更多一点到客户端。