selectRows() against a large assay | Ben Bimber | 2011-08-02 07:42 | |||||||||||||||||||||||||||||||||||||||
Status: Closed | |||||||||||||||||||||||||||||||||||||||||
I have an assay with about 100K rows. I have a JS class that creates a search panel for any query. this class is backed by a LABKEY.ext.Store. The rationale for using the store instead of one of the non-ext query APIs that is because that better handles metadata and the creation of the necessary ext inputs that the non-ext APIs. There's a number ext-based containers that need to do similar things throughout the EHR UI, and it's just easier to have a common code path for processing metadata. The store is set to use maxRows=0, because we only want metadata, not all the rows. The actual request is using this URL: https://ehr.primate.wisc.edu/query/WNPRC/WNPRC_Units/Research_Services/MHC_SSP/Private/MHC_DB/selectRows.view?_dc=1312250642279&schemaName=assay&query.queryName=MHC_SSP%20Data&apiVersion=9.1&query.maxRows=0 However, despite using maxRows=0, this can take 20 secs to return. I didnt get why until I looked at the response and see that it includes a bit saying something like 'total rows = 100K'. this implies it must be running something to figure out the total size. That may not be the true reason, but it's the closest thing i could figure out. Should a call to selectRows() when using maxRow=0 actually be the same speed as without it? Are there other troubleshooting steps to figure out exactly where the bottleneck is? Thanks. |
|||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||