query is taking too long to:  a. begin returning results or b. once it begins 
returning results, takes too long to iterate rows ?

that is, where is this slow:

# slow here ?  (SQL Server has a slow query plan)
result = session.execute("select DISTINCT <rest of your query>")

# ... or slow here ?  (the query returns many many rows)
rows = result.fetchall()

# or slow when you do this ?   (ORM overhead)
objects = session.query(MyObject).filter(...)





On Sep 19, 2012, at 2:24 PM, Brian wrote:

> Here is the initial information.
> SQLAlchemy Version : 0.7.4 
> Database backend: SQL Server 2005
> Library interface : pyodbc 3.0.4
> On a side note I tried updating to the latest SQLAlchemy version and the 
> problem I am running into is still present.
> 
> The problem I am running into is I build up a fairly large select query and 
> when I run sqlalchemy.sql.expression.Select.execute() it takes much long than 
> it should.
> I have tried generating the raw compiled sql statement in various methods to 
> try to debug it and all the other methods return in under 5-6 seconds.
> I tried using a sqlalchemy connection.execute('select . . . . . '), a pyodbc 
> connection.execute('select . . . .') and using MS SQL Server Management 
> Studio.
> 
> The generated query without the variables substituted in is
> 
> SELECT DISTINCT directory.path, [RasterFile].[FileName] 
> FROM directory, [RasterFile], [GroupRaster], usergroup, users, 
> [RasterGeodeticBounds] 
> WHERE [RasterFile].[DirectoryID] = directory.id 
> AND [GroupRaster].[GroupID] = usergroup.[GroupID] 
> AND [GroupRaster].[FileID] = [RasterFile].id 
> AND users.id = usergroup.[UserID] 
> AND users.id = ? 
> AND [RasterFile].[FileName] LIKE ? ESCAPE '<' 
> AND [RasterFile].status = ? 
> AND [RasterFile].[DateCreatedNum] >= ? 
> AND [RasterFile].[DateCreatedNum] <= ? 
> AND [RasterFile].[DateModifiedNum] >= ? 
> AND [RasterFile].[DateModifiedNum] <= ? 
> AND [RasterFile].id = [RasterGeodeticBounds].[FileID] 
> AND [RasterGeodeticBounds].[WestLong] <= ? 
> AND [RasterGeodeticBounds].[EastLong] >= ? 
> AND [RasterGeodeticBounds].[SouthLat] <= ? 
> AND [RasterGeodeticBounds].[NorthLat] >= ? 
> AND [RasterFile].id IN 
> (
> SELECT [RasterTag].[FileID] 
> FROM [RasterTag], [UserTagTable] 
> WHERE [RasterTag].[TagID] = [UserTagTable].id AND [UserTagTable].[aTag] LIKE 
> ? ESCAPE '<' INTERSECT SELECT [RasterTag].[FileID] 
> FROM [RasterTag], [UserTagTable] 
> WHERE [RasterTag].[TagID] = [UserTagTable].id AND [UserTagTable].[aTag] LIKE 
> ? ESCAPE '<' INTERSECT SELECT [RasterTag].[FileID] 
> FROM [RasterTag], [UserTagTable] 
> WHERE [RasterTag].[TagID] = [UserTagTable].id AND [UserTagTable].[aTag] LIKE 
> ? ESCAPE '<'
> )
> 
> 
> Any help is appreciated.
> Thank you
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/msg/sqlalchemy/-/tPpgGviVqhEJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to