Troels Arvin wrote:
Quote:
Hello,
>
I have recently run a rather large data import where the imported data i
pumped through some updatable views equipped with INSTEAD OF triggers. For
various reasons, the exact same data where imported into the exact same
table/view/trigger structures (but with slightly different tablespace
configuration, see later). The involved hardware was different (one
running on x86_64, one running on PPC), but with comparable CPU, memory
and I/O assignments.
>
The update running on one of the servers was performing extremely bad:
Even though the import was consuming 5 CPU cores, the import ran for more
than a week: On the other server, the import on the other server ran for
less than a day. I couldn't make any sense out of it, until I saw a
difference:
On the fast server, there was a "Buffer pool temporary data logical
reads" / "Buffer pool data logical reads" ratio of 10. On the slow server,
the same ratio was 30.
That is definitely interesting, but what about physical data
reads/writes? How do those compare? If you compare only
logical data reads, you're looking only at data data coming
from the bufferpool, and the storage configuration doesn't
affect this.
I would also dig into *why* you have 3 times more temporary data
reads. If you have the same access path on both servers, something
is going wrong. Are there lots more sort overflows on the slow
server? (These would translate into reads/writes on temp
tablespaces).
Quote:
This led me to compare the temporary tablespaces on the two servers. I has
added 8KB system temporary tablespaces on both databases, but it turned
out that I had done it differently. The fast server was using automatic
storage, while the slow server was using non-automatic, database managed
storage. The slow database's temporary tablespace was rather large (25GB),
to I doubt that the size of the tablespace was contributing to the
problem. Actually, when looked at the actual size of the temporary
tablespace on the fast server, the involved files didn't seem to take up
more than a gigabyte of data.
Have you compared the average I/O service times for the tablespaces on
both systems? What did you find?
How many containers did you have when the temp tablespace was DMS?
compared with how many storage paths you had in the database?
Quote:
I interrupted the import on the slow system, and re-created the 8KB system
temporary tablespace, this time using automatic storage. Now, a subsequent
import ran as fast as on the fast system.
>
How can this be? I always thought that automatic storage would be a bit
_slower_ than DMS tablespaces.
>
Is there any merit to concluding that system temporary storage should
generally reside on automatic storage?
Automatic storage is implemented as DMS File (for regular/long
tablespaces) and as SMS (for user or system temporary tablespaces).
Automatic storage just controls *where* the containers get placed.
So the question should probably be, 'should a temporary tablespace
be SMS or DMS?'. But, in this case, I'd bet there is something
else going on.