加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL中数据库操作的复杂性?

发布时间:2020-12-13 18:07:13 所属栏目:百科 来源:网络整理
导读:有没有人有一个指导计算 postgresql中各种操作的复杂性? 如选择,加入(在from和where中),组,聚合,笛卡尔等产品? 我正在寻找Big O符号的东西. 您要求的不是也不可能存在,因为操作类型和复杂性之间没有1:1的关系.例如,考虑基本的选择操作.这可以映射到各种计
有没有人有一个指导计算 postgresql中各种操作的复杂性?
如选择,加入(在from和where中),组,聚合,笛卡尔等产品?

我正在寻找Big O符号的东西.

您要求的不是也不可能存在,因为操作类型和复杂性之间没有1:1的关系.例如,考虑基本的选择操作.这可以映射到各种计划,计划员就每个计划的估计复杂性做出决策.例如,假设我们:
CREATE TABLE my_index_test (id int primary key); -- creates an index too!
EXPLAIN ANALYZE SELECT * FROM my_index_test where id = 0;

                                            QUERY PLAN                      

--------------------------------------------------------------------------------
---------------------------
Seq Scan on my_index_test  (cost=0.00..34.00 rows=2400 width=4) 
    (actual time=0.003..0.003 rows=0 loops=1)
  Total runtime: 0.045 ms
 (2 rows)

现在,在这种情况下,规划者(正确地)决定使用索引是不必要的复杂性.因此,即使是简单的查询也有多种可能性,PostgreSQL会尝试根据它所知道的选择最不复杂的计划.

一个例外是提交和回滚都具有O(1)复杂性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读