Timwi wrote:
I have asked my friend and he confirmed by suspicion.
If you have several large tables A, B, C, ... etc. with identical
columns and types (that could, for example, be the recentchanges
tables for the different languages), you can always combine them into
a big table with an extra (indexed) integer or other fixed-length
column that specifies what original table the row came from (i.e. what
language it's in), and it won't be any slower.
This is true in theory, and I believe true in some "big iron" production
database systems (Oracle, etc.), but I'm not sure it's true in practice
in many of the free DB systems. In particular, big tables and big
indexes can mess up caching algorithms. In fact sometimes it seems to
even be beneficial to split into entirely separate databases (not just
separate tables in the same database). Why this is true I don't know
enough about the internals of the various DB systems to say, but
splitting seems to have resulted in a large speedup at
kuro5hin.org,
among other places that use MySQL.
-Mark