Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / DB2 Topics / April 2008

Tip: Looking for answers? Try searching our database.

MQTs under z/OS - how to get IMMEDIATE REFRESH functionality

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
BD - 15 Apr 2008 00:05 GMT
I'm doing some cross-platform development, under LUW 8.2 (Windows) for
z/OS 8.

I have some fairly complex queries which address some rather large
tables.

One query takes approximately 30 seconds to complete, once the result
set has been loaded into buffer caches. The initial run of the query
is about 2 minutes.

I created an MQT, and that sped up the performance of my query
considerably.

Although I was able to structure the fullselect to 'obey the laws' for
'REFRESH IMMEDIATE' MQTs under LUW, I appear to be out of luck under z/
OS, simply because, according to the dox I've read, z/OS does not
offer REFRESH IMMEDIATE as an option. It's important that the MQT is
kept well up-to-date with its source tables.

I thought of putting a trigger on the source tables to initiate a
REFRESH TABLE command, but the list of 'allowed' statements which a
trigger can, well, trigger - does not appear to include 'REFRESH
TABLE'.

Best I can find, by scouring the group and other forums, is a solution
that involves creating a trigger that calls a stored procedure, which
initiates a REFRESH TABLE.

Has anyone else found a slightly more intuitive solution for this
problem? Am I incorrect in my conclusion that IMMEDIATE REFRESH is not
supported under z/OS UDB?
BD - 24 Apr 2008 23:39 GMT
> Has anyone else found a slightly more intuitive solution for this
> problem? Am I incorrect in my conclusion thatIMMEDIATEREFRESH is not
> supported underz/OSUDB?

Anyone? Anyone?? ...Beuller?
Serge Rielau - 25 Apr 2008 00:24 GMT
>> Has anyone else found a slightly more intuitive solution for this
>> problem? Am I incorrect in my conclusion thatIMMEDIATEREFRESH is not
>> supported underz/OSUDB?
>
> Anyone? Anyone?? ...Beuller?
To the best of my knowledge REFRESH IMMEDIATE is not supported in DB2
for zOS.

Signature

Serge Rielau
DB2 Solutions Development
IBM Toronto Lab

BD - 25 Apr 2008 19:44 GMT
> To the best of my knowledge REFRESH IMMEDIATE is not supported in DB2
> for zOS.

This is my understanding as well - what I'm trying to establish is a
mechanism of maintaining an MQT with some assurance that updates to it
will remain closely tied with updates to its source tables. I'm okay
with relying on triggers and stored procs, but have not (for example)
had success in coding a stored proc which calls a 'refresh table'
statement, even though it's mentioned in the z/OS SQL guide as a
supported statement for a stored proc.

I recognize that I cannot initiate a REFRESH TABLE from within a
trigger directly - I've read in the SQL dox about the dozen-or-so
valid statements for triggers.

I believe I should be able to code a stored proc to do it, but the
following proc does not compile:

CREATE PROCEDURE MYSCHEMA.MQTREFRESH ()
LANGUAGE SQL
BEGIN
REFRESH TABLE MQT1;
END

It returns an 'unexpected token "REFRESH TABLE"' message, expecting a
token of "SPACE"

If I schema-qualify the MQT name, returns an "unexpected token
MQT1...following MYSCHEMA." message.

Please don't misunderstand - I'm not looking for help coding a stored
proc (I recognize I'm not particularly experienced with them, either).
I'm simply trying to understand how, under z/OS, do DBAs who want the
IMMEDIATE REFRESH functionality of an MQT, get that kind of
functionality? If I want an MQT with some assurance that updates to it
will occur as closely as possible in time to the updates on the source
tables, what's the best strategy, in the absence of an IMMEDIATE
REFRESH MQT?

Do people build tables manually, and rely on manually-coded triggers,
somehow 'emulating' the immediate functionality?

Thanks kindly for the response...

BD
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.