Re: Should duplicate indexes on same column and same table be allowed?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/9/06, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
"Rajesh Kumar Mallah" <mallah.rajesh@xxxxxxxxx> writes:
> Some of our tables have duplicate indexes on same column by different
> index names.
> Should the database server  check for the existance of (effectively)
> same index in
> a table before creating a new one.

I'd vote not; I think this would get in the way of people who do know
what they're doing, as much as it would hold the hands of those who
don't.  ("Build a database that even a fool can use, and only a fool
would want to use it.")

An example: suppose you mistakenly created a plain index on foo.bar,
when you meant it to be a unique index.  You don't want to just drop the
plain index before creating a unique index, because you have live
clients querying the table and their performance would tank with no
index at all.  But surely a plain index and a unique index on the same
column are redundant, so a nannyish database should prevent you from
creating the desired index before dropping the unwanted one.

I meant *exactly* the same index (pls ignore the word effectively in prv  post).
even same tablespace.

Regds
mallah.

PS: (forgive me for my meager knowledge of internals)




Other scenarios: is an index on X redundant with one on X,Y?  Is a hash
index on X redundant if there's also a btree index on X?  How about
partial or functional indexes with slightly varying definitions?

There's been some discussion lately about an "index advisor", which
might reasonably provide some advice if it thinks you have redundant
indexes.  But I'm not eager to put any sort of enforcement of the point
into the core database.

                        regards, tom lane



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux