MQT物化查询表问题
1. 创建MQT表,并通过set integrity将数据填充到MQT表中
create table sales_summary as (select sales_person, region, sum(sales)
as total_sales
from sales group by sales_person, region FOR READ ONLY)
DATA INITIALLY DEFERRED REFRESH DEFERRED
ENABLE QUERY OPTIMIZATION
MAINTAINED BY SYSTEM;
set integrity for emp immediate checked not incremental;
这时候sales_summary 是可访问并有record的。
2. 刷新特殊寄存器的值, refresh age = any, query optimization =9, MAINTAINED TABLE TYPES FOR OPTIMIZATION = all
3. 但是这时候去查看sql的access path :
select sales_person, region, sum(sales)
as total_sales
from sales group by sales_person, region FOR READ ONLY
Q1: optimizaer还是没有选择通过MQT来访问,为啥?
Q2:如果要让opt choose MQT,是否还要需要有相关的stats的update? 是否想z平台那样,有一个阈值,当发现sql的estimate cost大于这个阈值,就会选择MQT?
Q3:是否是因为这个query 的形式不符合opt choose MQT的要求? 有LUW上关于MQT的更多的资料介绍?
|