Brion, et al.
  As far as I understand, the watch list query has a date/time range condition on the revisions table (which is VERY big). Most DB servers don't use non-clustered indexes for range conditions. There are two ways to solve this:

1. Change the revision table clustered index to timestamp (and primary key to timestamp+ID). The ID should be kept only for timestamp collisions.

2. Save for each user in his watch list the cut-off revision ID for each article.

I think that #1 is the easiest and will give significant improvement.

        Meir :->



-----Original Message-----
From: Brion Vibber [mailto:brion@pobox.com]
Sent: Thursday, January 15, 2004 8:13 PM
To: Mendelovich Meir
Cc: 'Peter Gervai'
Subject: Re: Wikitech-l Digest, Vol 6, Issue 45


On Jan 15, 2004, at 05:20, Mendelovich Meir wrote:
> Brion,
>  Small question: What is the primary key of the revision histroy
> table? Is it the timestamp? Is it clustered?

The primary key is the revision ID number.

There are also indexes by namespace/title/timestamp and by timestamp
alone.

-- brion vibber (brion @ pobox.com)