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

时间:2015-12-21 22:12:56

标签: materialized-views db2-luw

我在DB2 10.5 LUW中有一个MQT:

import csv, itertools as it, operator as op

csv_contents = []
with open('Nov15.csv', 'rb') as fin:
  file_reader = csv.DictReader(fin)   # default delimiter is comma
  print file_reader
  fieldnames = file_reader.fieldnames # save for writing
  for line in file_reader:            # read in all of your data
    csv_contents.append(line)         # gather data into a list (of dicts)

# input to itertools.groupby must be sorted by the grouping value 
sorted_csv_contents = sorted(csv_contents, key=op.itemgetter('Object'))

for groupkey, groupdata in it.groupby(sorted_csv_contents, key=op.itemgetter('Object')):
    with open('slice_{:s}.csv'.format(groupkey), 'wb') as gips:
        file_writer = csv.DictWriter(gips, fieldnames=fieldnames)
        file_writer.writeheader()         
        file_writer.writerows(groupdata)

我想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 OPTIMIZATION

我找到了“更改具体化查询表属性”https://www-01.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.admin/src/tpc/db2z_changemqtableattribs.html 但这适用于z / OS。

如果我尝试:

DROP/CREATE

我明白了:

ALTER TABLE MyMQT DISABLE QUERY OPTIMIZATION;

LUW的文档说明了如何将MQT更改为常规表,否则。

我可以在不重新创建DB2 LUW的情况下更改MQT选项吗?

修改

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

正如data_henrik所提到的,可以禁用/启用所有MQT的优化。

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

2 个答案:

答案 0 :(得分:0)

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

SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION = NONE

这会告诉DB2不要考虑任何MQT。稍后,您可以通过将该变量设置为" system"来启用查询优化。 (默认)或其他。 That statement is documented here

答案 1 :(得分:-2)

尝试一下:

refreshable-table-options

|--●--DATA INITIALLY DEFERRED--●--REFRESH--+-DEFERRED--+--●----->
                                           '-IMMEDIATE-'      

   .-ENABLE QUERY OPTIMIZATION--.      
>--+----------------------------+--●---------------------------->
   '-DISABLE QUERY OPTIMIZATION-'