小编the*_*he1的帖子

物化视图和索引

有没有办法强制 PostgreSQL 使用我在物化视图表上创建的索引?我尝试了移动列属性的所有可能组合,以使 Postgres 使用我的索引......

我有这张表:

=> explain select * from flight3mv1;
                         QUERY PLAN                          
-------------------------------------------------------------
 Seq Scan on flight3mv1  (cost=0.00..3.50 rows=150 width=26)
(1 row)
Run Code Online (Sandbox Code Playgroud)

当我在物化视图上创建索引时,我的查询计划没有任何变化。

=> create index flight3mv1index on flight3mv1(c_nation,s_nation);
=> analyze flight3mv1;
=> explain select * from flight3mv1 where c_nation='CHINA' and s_nation='CHINA';

                                      QUERY PLAN                                       
---------------------------------------------------------------------------------------
 Seq Scan on flight3mv1  (cost=0.00..4.25 rows=6 width=26)
   Filter: (((c_nation)::text = 'CHINA'::text) AND ((s_nation)::text = 'CHINA'::text))
(2 rows)
Run Code Online (Sandbox Code Playgroud)

这是我的 Flight3mv1 表:

=> \d flight3mv1
    Materialized view "public.flight3mv1"
  Column  |         Type          | Modifiers 
----------+-----------------------+-----------
 c_nation …
Run Code Online (Sandbox Code Playgroud)

postgresql performance optimization query-performance

5
推荐指数
1
解决办法
6926
查看次数