If you're talking about mysql I won't argue as I know nothing about it. But
for pgsql, the primary key index can't be dropped:

test=> drop INDEX tt_pkey ;
ERROR: cannot drop index tt_pkey because constraint tt_pkey on table tt
requires it
HINT: You may drop constraint tt_pkey on table tt instead.

Besides, if you drop primary key index, you lose the ability to search on
id.

Kevin


On 11/7/05, Geo Carncross <[EMAIL PROTECTED]> wrote:
>
> On Sun, 2005-11-06 at 14:28 -0800, K C wrote:
> > I've replaced this kind of unique indexes with just normal
> > (physmessage_id) if there is no other index can index physmessage_id.
> > This is to make sure physmessage_id can use index. But unique index
> > on (physmessage_id, id) is unnecessary here.
>
> People search for physmessage_id- which isn't unique. Knowing that when
> it's with an id, it's also unique, this means database engines don't
> need a second index for PRIMARY.
>
> If your database engine blindly creates and maintains implicit indexes
> that are going to contain the same data as another index, consider
> dropping the PRIMARY one- that's the superfluous one.
>
> Unfortunately, when we do that, we lose the ability to search on id
> quickly because many database engines treat UNIQUE(p,q) as UNIQUE(p||q)
> which, as long as we have "p", we can still use this index without "q" -
> hence the reason it's UNIQUE(physmessage_id,id) and not
> UNIQUE(id,physmessage_id)
>
> If you don't believe it, load a dbmail installation with 20G of data.
> Should be easy- steal from mailing lists. Then do a data-only dump of
> your favorite database server, and start playing with the data
> structures. Most RDBMS come with an execution-planner that can be used
> to speed profiling, but a stopwatch and an email client will do fine.
>
> --
> Internet Connection High Quality Web Hosting
> http://www.internetconnection.net/
>
> _______________________________________________
> Dbmail-dev mailing list
> Dbmail-dev@dbmail.org
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev
>

Reply via email to