One for the RelStorage issue tracker.
I've migrated a ~70Mb Data.fs to a Mysql backed RelStorage. Everything
seems to work fine.
Packing can be slow, though. With GC turned off, packing took a minute
or two. With GC turned on, it took many hours to complete.
While running the pack, the expensive query is this one according to
UPDATE pack_object SET keep = TRUE WHERE keep = FALSE AND
zoid IN ( SELECT DISTINCT to_zoid FROM object_ref JOIN temp_pack_visit
USING (zoid) )
show processlist says: "Copying to tmp table"
This might indicate that the Mysql subselect implementation is slow in
this case. And this ticket seem to confirm that:
I don't have a workaround, but will try to dig deeper.
Observed with RelStorage 1.1b1, Mysql 5.0.51a and 5.0.32
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org