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.


Reply via email to