当前位置: 首页 > 面试题库 >

数据库查询时间复杂度

宇文温文
2023-03-14
问题内容

我对数据库还很陌生,所以如果这是一个愚蠢的问题,请原谅我。

在现代数据库中,如果我使用索引来访问行,则我相信这将是O(1)复杂性。但是,如果我查询选择另一列,它是O(1)还是O(n)?数据库是否必须遍历所有行,还是为每列建立一个排序列表?


问题答案:

实际上,我认为基于索引的访问将是O(log(n)),因为您仍将通过类似B-Tree的组织进行搜索以获取记录。



 类似资料:
  • 我是新来的和我试图我的得到一个从它。我试图这样做的它与这是id但问题是我不知道如何返回目标从。 这就是<代码>刀 这是Repository类

  • 给定集合"foo",我们有字段"bar",看起来像这样: 如何查询字段“bar”上满足以下条件的所有“foo”:[14,18]中的“uid”=2和“mid”

  • 问题 您要执行的 SQL 语句如:高级的联接或计数。 方案 webpy 没有尝试在数据库之上建立一层模型,而是以尽可能简单的方式查询数据库, 做复杂的查询也很容易。例如: import web db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='') # Query number of entries in `us

  • 我使用Spring引导和Spring数据JPA。它工作得很好但是!我需要使用复杂的本地查询从Oracle数据库(源数据从SAP ERP)。 假设查询包含5个joned表(一个键或组合键)。我可以使用很多参数。 解决方案: 1)由于耗时,使用JPA为该查询编写新查询是不真实的。创建表之间的所有键关系似乎很复杂。 2)为了运行这些查询,我使用JDBC。这很容易,因为我准备了本机查询。但我深信这种做法是

  • 主要内容:时间复杂度,空间复杂度《 算法是什么》一节提到,解决一个问题的算法可能有多种,这种情况下,我们就必须对这些算法进行取舍,从中挑选出一个“最好”的。 算法本身是不分“好坏”的,所谓“最好”的算法,指的是最适合当前场景的算法。挑选算法时,主要考虑以下两方面因素: 执行效率:根据算法所编写的程序,执行时间越短,执行效率就越高; 占用的内存空间:不同算法编写出的程序,运行时占用的内存空间也不相同。如果实际场景中仅能使用少量的内

  • 我有一个firebase数据库,员工数据的结构如下。我还有一个用户表,它具有'Company ID'属性。每次用户登录时,我都希望获取与用户“公司ID”匹配的所有员工。是否有可能实现这使用firebase数据库规则或我必须写一些查询。