On Feb 12, 2013, at 6:29 AM, shaung <shaun.g...@gmail.com> wrote: > On Tuesday, February 12, 2013 7:18:37 PM UTC+9, Simon King wrote: > If you add echo='debug' to your create_engine call, SA will log all > calls to the database and rows returned, which might give you an idea > of where all the time is being spent. > > > Thanks, Simon. I've looked through the debug log and found the reason. > > It turns out that the table has several foreign key constraints, > and SA is inspecting all of the related tables and all the related tables to > the related tables... > There were 23 tables involved, which explained the long execution time. > > So is there anything I can do about this? > I'm considering two possibilities: > > 1. Ignore the constraints to speed up > 2. Or cache all the meta data to a disk file so no need to wait when > restarting the program >
you can pickle the metadata for this purpose. Though I wonder if it's time to revisit that behavior of reflection, it would be easy enough to have it stop reflecting after one level deep. I'm actually not even sure why it's so critical that it even traverse the first level of foreign keys, since those ForeignKey objects could just remain "unresolved" until one ensured that the other tables were also pulled in explicitly. The Table object would still work with those FK objects unresolved. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.