我可以在DB2 LUW中禁用MQT的QUERY OPTIMIZATION而不重新创建它吗?

问题描述 投票:0回答:1

我在DB2 10.5 LUW中有一个MQT。

CREATE TABLE MyMQT AS(
SELECT * FROM MyTable
    WHERE
        ServerName = 'COL'
        AND LASTOCCURRENCE > TIMESTAMP '2015-12-21 00:00:00' 
)
DATA INITIALLY DEFERRED REFRESH immediate
ENABLE QUERY OPTIMIZATION
MAINTAINED BY SYSTEM;

我想 DISABLE QUERY OPTIMIZATIONDROP/CREATE.

我发现 "改变物化查询表属性" https:/www-01.ibm.comsupportknowledgecenterSSEPEK_10.0.0com.ibm.db2z10.doc.adminsrctpcdb2z_changemqtableattribs.html。但这是针对zOS的。

如果我试一下,

ALTER TABLE MyMQT DISABLE QUERY OPTIMIZATION;

我得到的是:

DB21034E  The command was processed as an SQL statement because it was not a
valid Command Line Processor command.  During SQL processing it returned:
SQL0104N  An unexpected token "TABLE" was found following "ALTER ".  Expected
tokens may include:  "VIEW".  SQLSTATE=42601

LUW的文档解释了如何将MQT改为普通表和其他方式。

我可以在DB2 LUW中改变MQT选项而不重新创建它吗?


编辑

这很奇怪,但看起来这在DB2 LUW中是不可能实现的。

正如Data_henrik所提到的,可以对所有的MQTs进行禁用优化。

我接受他的回答,虽然这不是我想要的。

materialized-views db2-luw
1个回答
0
投票

没有个人经验,但你可以。

SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION = NONE

这将告诉DB2不考虑任何MQT。之后你将通过将该变量设置为 "system"(默认)或其他东西来启用查询优化。这个声明在这里有记录.

© www.soinside.com 2019 - 2024. All rights reserved.