> does it take a few seconds to fully fetch all the results and it only gets > 1000 rows ? or is that just to get the initial result?
I'm not sure what you mean by this - the query does return 1000 rows. > also if any of the individual columns are very large BLOBs or perhaps very > large PG arrays that would add to the overhead of a fetch. There definitely are columns of PG arrays ~4000 elements each, so back to my first email it seems like the culprit here could be the ARRAY's Thanks for your help, Adrian On Jul 19, 10:10 am, Michael Bayer <mike...@zzzcomputing.com> wrote: > On Jul 19, 2010, at 9:52 AM, Adrian Price-Whelan wrote: > > > > > > > Hi, > > > I was just wondering at first whether there was a known issue with > > ARRAY types, but here is the query: > > spectra = > > session.query(Spectrum).join(SpectrumHeader).filter(SpectrumHeader.filename > > == spPlateFilename).all() > > > It should return ~1000 objects equaling about 120MB of data. In > > Python, this query takes >10 minutes to complete, but as a SQL query > > (copying and pasting the echo'd command) it takes a few seconds: > > SELECT spectrum.pk AS spectrum_pk, spectrum.ra AS spectrum_ra, > > spectrum.dec AS spectrum_dec, spectrum.values AS spectrum_values, > > spectrum.spectrum_header_pk AS spectrum_spectrum_header_pk, > > spectrum.fiber_number AS spectrum_fiber_number, spectrum.inv_var AS > > spectrum_inv_var, spectrum.and_mask AS spectrum_and_mask, > > spectrum.or_mask AS spectrum_or_mask FROM spectrum JOIN > > spectrum_header ON spectrum_header.pk = spectrum.spectrum_header_pk > > WHERE spectrum_header.filename = 'spPlate-3586-55181.fits' > > > autoflush and autocommit are both set to False. > > > It seems like a straightforward query so I'm confused as to what could > > be getting hung up. > > does it take a few seconds to fully fetch all the results and it only gets > 1000 rows ? or is that just to get the initial result? these are different > things. also if any of the individual columns are very large BLOBs or > perhaps very large PG arrays that would add to the overhead of a fetch. You > can also try writing a DBAPI-only script that runs the query, as well as > running engine.execute(myquery.statement) and fetching rows that way to see > if some in-object process is the factor (which is unlikely). > > > > > > > Thanks for any insight, > > > Adrian > > > On Jul 16, 10:24 pm, Michael Bayer <mike...@zzzcomputing.com> wrote: > >> You absolutely need to turn in echoing and locate the specific SQL query > >> which causes the issue. Queries can take excessive time for a very wide > >> variety of reasons. > > >> On Jul 16, 2010, at 12:56 PM, Adrian Price-Whelan wrote: > > >>> Hello -- > > >>> I'm working with a database populated with data originally from a file > >>> structure of files that are ~150MB each. We are dealing with a lot of > >>> data that is being stored in the database using the 'ARRAY' datatype, > >>> specifically numeric[]. After loading some of the data into the database > >>> I tried performing a query to get back some data, and comparing it with > >>> code that reads directly from the file system - but the database query > >>> took ~50 times longer to complete. For instance, to retrieve 100 records > >>> that contain a few 4000 element arrays each using the code that reads the > >>> filesystem it took less than a second, but the query on the database took > >>> around 25 seconds to complete. Has anyone else had issues with array > >>> types slowing down queries or does this sound more like another issue? > > >>> Thanks! > >>> Adrian > > >>> -- > >>> You received this message because you are subscribed to the Google Groups > >>> "sqlalchemy" group. > >>> To post to this group, send email to sqlalch...@googlegroups.com. > >>> To unsubscribe from this group, send email to > >>> sqlalchemy+unsubscr...@googlegroups.com. > >>> For more options, visit this group > >>> athttp://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 sqlalch...@googlegroups.com. > > To unsubscribe from this group, send email to > > sqlalchemy+unsubscr...@googlegroups.com. > > For more options, visit this group > > athttp://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 sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.