On 18-Dec-2015 11:01 -0700, Alan Campin wrote:
Unless I am wrong, a CREATE TABLE even in QTEMP is registered in
system catalog which is very slow and expensive. IBM need a way to do
with other databases can do, Create a temp table that is very fast to
create, use and destroy so they came up with Global Temporary Tables.
The table is not registered in the system catalog and can only be
seen by the current session so it is very fast to create and use.
Just did some tests and it seems that a CREATE TABLE QTEMP.xx is not
registered in the system catalog either (at least, the table name does
not appear in SYSTABLES).
What I think is that a DECLARE'd table seems to be more "SQL-friendly"
than the ones created in a more conventional way. You can, for
example, do a ROLLBACK against a GLOBAL TEMPORARY TABLE, which is, of
course, not possible when using a "traditional" QTEMP table.