1 Feb 2003 02:15
Optimizing and tuning
There are two very good IRC channels on irc.freenode.net: #php and #mysql There are lots of knowledgeable people there who are eager to help open source projects, many have already heard of Wikipedia. I learned a lot from just being there for half an hour or so. Here are some things we need to look into: 1) Composite indexes and index use in general. I do not know which indexes are currently used on the live Wikipedia. However, after the *default* database generation script, there is just a single composite index, namely in the table watchlist. All other indexes are on a single field. If I understand correctly, this means that when we do a query with multiple comparisons, e.g. WHERE foo=bar AND baz=bat, only one index is used. At least, that is what this article claims: http://www.linux-mag.com/cgi-bin/printer.pl?issue=2001-06&article=mysql There are also a couple of tables with no indexes (including ARCHIVE, which may cause Special:Undelete to create high server load) and some unexplainable ones (site_stats has an index, but only one row). We really need to clean up our indexes. I can't help much with this without server access because I don't know if the table structures have been altered. 2) The HANDLER command. HANDLER, which works with both InnoDB and MyISAM, provides low-level access to tables *without locking*. You get reads, but you don't get consistency, which may cause problems when you're dealing with critical, heavily modified data. But it seems perfect for our archive(Continue reading)
>Also, I still think that a well-integrated, generalized group
>certification system makes more sense than a separate filter project.
>
We could do both in the same code, then set up both as different
projects, and wait what happens. Nobody expected what happened to
Nupedia and Wikipedia.
Magnus
RSS Feed