【问题标题】:time complexity to get auto incremented row id in mysql在mysql中获取自动递增行ID的时间复杂度
【发布时间】:2011-11-03 12:26:07
【问题描述】:

我是 mysql 和数据库的新手。 我有一个简单的问题。我创建了一个表,该表具有一个自动递增的整数类型 id 列。每次插入后,我得到最后一行插入的 id(在 python 中使用 cursor.lastrowid 或 connection.insert_id())。我想知道mysql中获得这个值的时间复杂度是多少? 我猜它的 O(1) 因为数据库应该将此值存储在某处并在每次插入后更新它?

谢谢。

【问题讨论】:

  • 这是由会话的最后一个 INSERT 语句创建的 LAST_INSERT_ID()。所以,MySQL 可能会在某个地方为每个会话存储值。

标签: python mysql python-db-api


【解决方案1】:

cursor.lastrowid 将返回单个插入的值 见:http://www.python.org/dev/peps/pep-0249/

connection.insert_id() 必须单独调用才能获取 last_insert_id,并且会稍微慢一些

【讨论】:

    猜你喜欢
    • 2020-02-01
    • 2014-10-01
    • 2021-07-02
    • 1970-01-01
    • 2013-08-27
    • 2016-02-19
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    相关资源
    最近更新 更多