I don't think so. With the right data
definitions, the number of
entries in the cur table would no more than double, and the amount of
space taken up would definately NOT double; I doubt if it would add even
10 megs to the table size.
Many Wikipedia users try to insert as many relevant links as possible,
making the relationship between "broken" and real links often 10:1. I
don't think it would make much sense to create blank rows for each one of
them just to have simpler table definitions.
Postgres on the other hand, does have mechanisms for
dealing with large
tables. First, you create an index. Or several indexes. Then you run
the vacuum optimizer program every night. It just gets faster and
faster. This is the advantage of using a real database.
First, we're not on Postgres yet. I appreciate that you're helping with
the port, but let's not make any changes that would negatively affect the
system we're using now. We're already slow enough as it is.
MySQL also has indexes :-). It just doesn't use them in some special
cases; it would probably already give us a significant performance boost
to figure out what these cases are and to fix the code accordingly.
Note that Yahoo! uses MySQL, so it's quite possible to run very large
sites with it.
Regards,
Erik