在主键上搜索时从MySQL数据库中获取行的时间复杂度是多少?

时间:2014-12-08 12:45:17

标签: mysql database complexity-theory time-complexity

我有一个庞大的数据库,想要快速数据检索(仅基于主键进行搜索)。数据库O(1)的时间复杂度是因为它像字典一样吗? (因为我只会在主键上进行搜索,所以只会提取一行)

1 个答案:

答案 0 :(得分:2)

在主键中搜索一条记录可以通过不同的方式完成,具体取决于查询优化程序决定哪种方法最有效。对于小表,可以选择索引扫描。但是,对于大多数表来说,索引搜索的可能性更大。这是二元搜索。

二进制搜索的时间复杂度可能在O(log n)附近。

从索引中检索到密钥后,获取单个记录的非关键字段将为O(1)。