在mysql中获取自动递增行id的时间复杂度
我是mysql和数据库的新手。 我有一个简单的问题。我创建了一个表,其中有一个自动递增的整数类型 id 列。每次插入后,我都会得到最后一行插入的 id(在 python 中使用cursor.lastrowid或connection.insert_id())。我想知道mysql获取这个值的时间复杂度是多少? 我猜测它的 O(1) 因为数据库应该将该值存储在某处并在每次插入后更新它?
谢谢。
I am a newbie at mysql and databases.
I have a simple question. I have created a table that has an integer type id column that is auto incremented. After each insert I get the last row inserted id (in python using cursor.lastrowid, or connection.insert_id()). I wanted to know what is the time complexity in mysql to get this value?
I am guessing its O(1) as the database should be storing this value somewhere and updating it after each insert?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
cursor.lastrowid
将返回单个插入的值请参阅: http://www.python.org/dev/peps/pep-0249/
connection.insert_id()
必须单独调用才能获取last_insert_id,并且会稍微慢一些cursor.lastrowid
will return the value from the single insertsee: http://www.python.org/dev/peps/pep-0249/
connection.insert_id()
will have to make a seperate call to get the last_insert_id, and would slightly slower