Subject | Re: Firebird Indexes |
---|---|
Author | Adrian Libotean |
Post date | 2005-06-24T19:45:36Z |
--- In firebird-support@yahoogroups.com, "Martijn Tonies" <m.tonies@u
...> wrote:
1. I have a set of tables linked with several joins. The important
thing to know is that they are huge.
2. The tables have a lot of columns, and most of them are shown in the
grid to the user.
3. I only display the rows that are visible (eg. fit in the screen)
and of-course keep a local cache not to transfer them again.
Now: making two sets of indices for every shown column is going to
make my INSERTS/UPDATES slow and increase the size of the database.
Is there any other way to do this???
...> wrote:
>BY.
> > > Sorry for answering before properly reading the question...
> > >
> > > No, a DESCending index cannot be used with an ASCending ORDER
> > You50,
> > > need two separate indexes if you want to index the field both
> > > ASCending and DESCending.
> >
> > > Though note that too many indexes can be as
> > > bad as too few indexes, create only those that are likely to be
> > > selective and useful.
> > >
> > > Set
> > >
> >
> > Indeed. This is the real problem. I display the data (let's say
> > 000) rows in a grid with let's say 10 columns. Now the grid can bemy
> > sorted by every column in ASC or DESC order. Imagine how this will
> > look for 15 columns where I would have 30 indexes that slow down
> > INSERTS, UPDATES and are very large because I have 50,000 rows.is a
> >
> > I don't get the reason for this unidirectional approach but to me
> > pain in the proverbial arse.data
>
> Can't be as bad as showing 50000 rows in a grid :-)
>
> > Maybe there is another way of doing this, but the nature of the
> > and of the software application forces me to do this.rows,
>
>
> Sorting is independent of indices. If you want to retrieve all the
> fetching them via an index is slower than fetching them straightfrom
> disk and sorting them afterwards.MS SQL
>
> With regards,
>
> Martijn Tonies
> Database Workbench - tool for InterBase, Firebird, MySQL, Oracle &
> ServerMy explanation was ambiguos. Let's try to clear the smoke:
> Upscene Productions
> http://www.upscene.com
1. I have a set of tables linked with several joins. The important
thing to know is that they are huge.
2. The tables have a lot of columns, and most of them are shown in the
grid to the user.
3. I only display the rows that are visible (eg. fit in the screen)
and of-course keep a local cache not to transfer them again.
Now: making two sets of indices for every shown column is going to
make my INSERTS/UPDATES slow and increase the size of the database.
Is there any other way to do this???