Hi Guys,
The SQL tables we have to play with in TSM are indeed indexed.
If you do select * from syscat.columns, you will see there is a field
called
INDEX-KEYSEQ and INDEX-ORDER.
The BACKUPS table is indexed on NODE_NAME, then FILESPACE_NAME, then
FILESPACE-ID, then STATE, in that order.
Speaking from experience, I can tell you the query DOES run faster if
you
select on an indexed field.
So if you could select on a specific NODE-NAME, you would do a lot
better.
What I don't know is the effect of using a generic match like %ORC%; I
don't
know if that negates the indexing or not.
What I have done in the past was to write a host script that generated
the
list of node_names for me, then iteratively ran the SELECT on the
backups
table with "where node_name=BLAH", sending the output to a file.
Running the individual queries against one node_name at a time
finished in
about 3 hours, where running the entire backups table (as in your
original
query) ran for over 24 (before I gave up and cancelled it!).
Wanda Prather
"I/O, I/O, It's all about I/O" -(me)
-----Original Message-----
From: ADSM: Dist Stor Manager [mailto:[EMAIL PROTECTED] On Behalf
Of
Richard Sims
Sent: Tuesday, June 29, 2004 8:03 AM
To: [EMAIL PROTECTED]
Subject: Re: Speeding up my SQL statement
I thought about that, but would that help? If TSM still has to scan
every
object for a match, it wouldn't help much... That's the problem, I
don't
know
how SQL works...
Eric - Your perception is correct: if you scan a table, it will
traverse the
whole thing. Whereas the Backups table is the predominant
(=huge)
table in a TSM system, it will take a long time. Some optimization
can be
had through well-formulated queries, but the opportunities for doing
that
are
rather rare. The only thing that really helps SQL performance is
indexing,
where short, key columns are also kept in a hash. Whereas TSM SQL is
an
overlay on a B-tree database, I don't believe there is any indexing
opportunity, and so SQL scans are painful.
Sometimes, the best thing to do is perform Query Backup from the
client
side,
where dedicated logic gets results faster. It is often possible to
accomplish
that by masquerading as each defined TSM node, via VIRTUALNodename.
Another approach to finding flotsam, of course, is to inspect the last
backup
time in filespaces, which helps narrow down the search arena.
Richard Sims