gpt4 book ai didi

sql - SQL 数据库中查询的最短时间顺序是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:22 26 4
gpt4 key购买 nike

我想知道在给定的 SQL(特别是 SQLite)数据库(有 n 条记录)中的最短查询时间是多少。我知道全表扫描O(n),对于索引列(和RowId)它是O(log(n ))

第一个问题:是否存在时间小于O(log(n))的情况?

第二个问题:为什么查询 RowId (SELECT *FROM table_01 WHERE rowid='234') 也是 O(log(n))?如果它 (RowId) 从 1 到 n 排序,我逻辑上期望 SQL 可以立即找到具有给定的 RowId

最佳答案

查找特定行需要搜索。 (不一定每个 rowid 都存在,所以数据库需要查找。)乐观的情况,甚至是平均情况,应该比 log(n) 快得多,但最坏的情况不可能,因为它需要搜索列表。

关于sql - SQL 数据库中查询的最短时间顺序是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47565313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com