Обсуждение: Auto-indexing

Поиск
Список
Период
Сортировка

Auto-indexing

От
"Christopher Kings-Lynne"
Дата:
Is it a feasible idea that PostgreSQL could detect when an index would be
handy, and create it itself, or at least log that a table is being queried
but the indices are not appropriate?

I suggest this as it's a feature of most windows databases, and MySQL does
it.  I think it would be a great timesaver as we have hundreds of different
queries, and it's a real pain to have to EXPLAIN them all, etc.   Is that
possible?  Feasible?

Chris

--
Christopher Kings-Lynne
Family Health Network (ACN 089 639 243)



Re: Auto-indexing

От
Alfred Perlstein
Дата:
* Christopher Kings-Lynne <chriskl@familyhealth.com.au> [010206 18:29] wrote:
> Is it a feasible idea that PostgreSQL could detect when an index would be
> handy, and create it itself, or at least log that a table is being queried
> but the indices are not appropriate?
> 
> I suggest this as it's a feature of most windows databases, and MySQL does
> it.  I think it would be a great timesaver as we have hundreds of different
> queries, and it's a real pain to have to EXPLAIN them all, etc.   Is that
> possible?  Feasible?

Probably both, but if it's done there should be options to:

.) disable it completely or by table/database or even threshold or  disk free parameters (indicies can be large)
.) log any auto-created databases to inform the DBA.
.) if disabled optionally log when it would have created an index on  the fly.  (suggest an index)
.) expire old and unused auto-created indecies.

Generally Postgresql assumes the user knows what he's doing, but
it couldn't hurt too much to provide an option to have it assist
the user.

-- 
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."


Re: Auto-indexing

От
Bruce Momjian
Дата:
> Probably both, but if it's done there should be options to:
> 
> .) disable it completely or by table/database or even threshold or
>    disk free parameters (indicies can be large)
> .) log any auto-created databases to inform the DBA.
> .) if disabled optionally log when it would have created an index on
>    the fly.  (suggest an index)
> .) expire old and unused auto-created indecies.
> 
> Generally Postgresql assumes the user knows what he's doing, but
> it couldn't hurt too much to provide an option to have it assist
> the user.

I want to implement a SET PERFORMANCE_TIPS, hopefully for 7.2:
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM  ANALYZE, and CLUSTER

I think suggesting items to the adminstrator is the way to go.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026