MySQL中获取自增行ID的时间复杂度
我刚接触mysql和数据库,还是个新手。 我有个简单的问题。我创建了一个表,这个表里有一个整数类型的id列,它是自动递增的。每次插入数据后,我会获取到最后插入的那一行的id(在python中可以用cursor.lastrowid或者connection.insert_id()来获取)。我想知道在mysql中获取这个值的时间复杂度是多少? 我猜测是O(1),因为数据库应该会把这个值存储在某个地方,并在每次插入后更新它,对吧?
谢谢。
1 个回答
2
cursor.lastrowid
会返回最近一次插入操作的 ID 值。想了解更多,可以查看这个链接:http://www.python.org/dev/peps/pep-0249/
connection.insert_id()
需要单独调用才能获取最后插入的 ID,这样会稍微慢一点。