O problema está listado como resolvido em 9.7.1, mas o mesmo existe em todas as versões 11.5 e 11.1 recentes.
IC62904: PROBLEMA EXP0059W PARA STATVIEWS COM SELECT DISTINCT .
Ainda o mesmo EXP0059W no plano de acesso.
Os passos para reproduzir:
connect to mydb;
create table ta (a1 int);
create table tb (b1 int);
create view sv as (select * from ta where a1 in (select b1 from tb));
alter view sv enable query optimization;
explain all with snapshot for
select * from ta where a1 in (select b1 from tb);
!db2exfmt -d mydb -1 -o sv.plan;
O plano de acesso contém a seguinte mensagem semelhante à descrita no link:
Diagnostic Details: EXP0059W The following MQT or statistical view was
not eligible because of one or more of the
following reasons: (1) the MQT had extra table
joins or GROUP BY columns that were not present in
the query, or (2) the query had an SQL construct
such as ORDER BY, FETCH FIRST n ROWS, DISTINCT, or
had a subquery that could not be matched:
"DB2ADMIN"."SV".
Não consigo abrir um Caso com suporte IBM.
A questão é: alguém sabe como resolver o problema com, digamos, alguma configuração de variável de registro ou com outras facilidades?