Via va Viaindex
Richard Witkopp
witkopp@idt.com
Wed, 11 Aug 1999 13:39:22 -0700
I can't remember, it's been a long time since I fiddled with
a database very much. But.... if you want it ordered by the
columns in an index, how could that index be anything but the
optimal retrieval method? I guess if you had multiple indexes
using the same columns, but that would make me want to specify
the index even more.
> That may be true, I'm not a guru on all the specific
> capabilities for each
> database, but remember, the PowerHouse code was written
> longer ago than
> that, and we try to keep it generic, where possible, so that
> it is usable on
> multiple databases with few or no changes.
>
> If you specify the index - does the database use it, even if
> it's not the
> optimal retreival method? Or does it just take it as a
> suggestion? Most
> databases will, in fact, use the index for retrieval if you
> specify the
> segments that match an index, and it's the optimal retrieval
> method, so it
> usually amounts to about the same thing, I would suspect.
> Allison Hamilton
>
> > ----------
> > From: Richard Witkopp[SMTP:witkopp@idt.com]
> > Sent: Wednesday, August 11, 1999 1:04 PM
> > To: powerh-l@lists.swau.edu
> > Subject: RE: Via va Viaindex
> >
> > Really? That may have been true 5 years ago, but I thought
> > most modern versions of databases would let you specify the
> > index.
> >
> > > Mark,
> > >
> > > Most database optimizers will not quarantee that if you give
> > > them an Index
> > > to use, they will use it. They may decide that the index is
> > > not the optimal
> > > method of retrieval. (depending on the amount of data and the
> > > kind of data
> > > in the table). I believe that some database don't even allow
> > > you to specify
> > > an index on retrieval. Because of that PowerHouse doesn't
> > > pass the VIAINDEX
> > > information to the database at all. We pass the list of
> > > segments and the
> > > ordering information instead. This allows the database to
> > > decide for itself
> > > which path is the optimal one for it to use in each case.
> > > The ordering
> > > request quarantees that the information is retrieved in a
> > > consistent order
> > > regardless of how the database retrieved it. In this way we
> > > are using the
> > > database as efficiently as we can, letting it use its, hopefully
> > > intelligent, information base to determine how best to get
> > > you the data you
> > > requested.
> > >
> > > Syntacticly, use of VIAINDEX, for relational databases is
> a kind of
> > > shorthand for VIA a,b,c ORDERED, which is the information
> > > that will be sent
> > > to the database. With VIAINDEX, you can override the
> > > defaults by specifying
> > > the VIA segments, but if they are not a sequential subset
> of the index
> > > segments (a,b is valid, a,c is not, nor is b,c), PowerHouse
> > > will ignore the
> > > VIAINDEX specification in the more recent versions (PH
> > > 8.1...). (I'm not
> > > sure how accurate the comparison is for earlier versions.)
> > > You can also
> > > override the ordering by specifying it. In this case
> > > PowerHouse will use
> > > the VIAINDEX segments but apply your specified ordering.
> > >
> > > Hope this helps
> > >
> > > Allison Hamilton
> > > My words and ideas are not necessarily my employers.
> >
> > = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
> = = = = = = =
> > =
> > Subscribe: "subscribe powerh-l" in message body to
> > majordomo@lists.swau.edu
> > Unsubscribe: "unsubscribe powerh-l" in message to
> majordomo@lists.swau.edu
> > powerh-l@lists.swau.edu is gatewayed one-way to
> bit.listserv.powerh-l
> > This list is closed, thus to post to the list, you must be
> a subscriber.
> >
>
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a subscriber.