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)复杂性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |