On Sun, Sep 26, 2004 at 01:35:25PM -0700, Brion Vibber
wrote:
A possible alternative which has been brought up before is to avoid
changing the structure of the old table, rather pullings its
non-textual data out to a separate table and continuing to use the old
table (unaltered) as a store for old_text. This avoids copying around
the most data and should in theory be faster.
Quick benchmark on Diderot, using dewiki (one third the size of enwiki):
INSERT INTO new_old (old_id, old_namespace, old_title, old_comment,
old_user, old_user_text, old_timestamp, old_minor_edit, old_flags)
SELECT old_id, old_namespace, old_title, old_comment,
old_user, old_user_text, old_timestamp, old_minor_edit, old_flags
FROM old;
Query OK, 2498816 rows affected (24 min 52.30 sec)
Jamesday played around with some MySQL settings and improved performance
of this query by a factor of 3.
I think this is the way to go: Keep old as it is, add a new table for
the revision metadata, ignore metadata in old.
Regards,
JeLuF