在mysql中获取自动递增行ID的时间复杂度
Posted
技术标签:
【中文标题】在mysql中获取自动递增行ID的时间复杂度【英文标题】:time complexity to get auto incremented row id in mysql 【发布时间】:2011-11-03 12:26:07 【问题描述】:我是 mysql 和数据库的新手。 我有一个简单的问题。我创建了一个表,该表具有一个自动递增的整数类型 id 列。每次插入后,我得到最后一行插入的 id(在 python 中使用 cursor.lastrowid 或 connection.insert_id())。我想知道mysql中获得这个值的时间复杂度是多少? 我猜它的 O(1) 因为数据库应该将此值存储在某处并在每次插入后更新它?
谢谢。
【问题讨论】:
这是由会话的最后一个INSERT
语句创建的 LAST_INSERT_ID()
。所以,MySQL 可能会在某个地方为每个会话存储值。
查看 SO 问题:***.com/questions/2548493/…
【参考方案1】:
cursor.lastrowid
将返回单个插入的值
见:http://www.python.org/dev/peps/pep-0249/
connection.insert_id()
必须单独调用才能获取 last_insert_id,并且会稍微慢一些
【讨论】:
以上是关于在mysql中获取自动递增行ID的时间复杂度的主要内容,如果未能解决你的问题,请参考以下文章
Azure 逻辑应用 - MySQL 连接器 - 根据需要插入显示自动递增主键字段的行操作