在mysql中获取自动递增行id的时间复杂度

发布于 2024-12-01 20:21:18 字数 210 浏览 0 评论 0原文

我是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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等数载,海棠开 2024-12-08 20:21:18

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 insert
see: 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文