Opened 17 years ago
Closed 17 years ago
#250 closed enhancement (fixed)
RDBMS Provider Performance: Lazy load properties retrieved by FdoIDataStoreReader
Reported by: | brentrobinson | Owned by: | brentrobinson |
---|---|---|---|
Priority: | major | Milestone: | 3.3.0 |
Component: | MySQL Provider | Version: | 3.3.0 |
Severity: | 2 | Keywords: | List Datastores FdoIListDatastores FdoIDatastoreReader MySQL performance |
Cc: | External ID: |
Description
Listing datastores can be slow when the RDBMS instance has many datastores. For example, a MySQL instance over the LAN from the client can take 4 minutes to list 313 datastores.
The most expensive part of listing the datastores is retrieving the description, long transaction mode and locking mode for FDO-enabled datastores. However, not all client applications need this information.
This enhancement will lazy-load these properties by only retrieving them when the application askes for them via an FdoIDatastoreReader::GetDescription() or FdoIDatastoreReader::GetProperties() call.
Another enhancement to the MySQL will be to load the FDO-enabled statuses in a single select, rather than a subselect of the query that retrieves datastore names.
Change History (2)
comment:1 by , 17 years ago
Status: | new → assigned |
---|
comment:2 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Revision: 3757 Author: brentrobinson Date: 1:34:42 PM, Monday, February 04, 2008 Message: Ticket#250: Sped up MySQL ListDatastores performance by using lazy loading for datastore properties.
Modified : /trunk/Providers/GenericRdbms/Src/Fdo/DataStore/FdoRdbmsDataStoreReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/Fdo/DataStore/FdoRdbmsDataStoreReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/OwnerReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/OwnerReader.h Modified : /trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/Rd/OwnerReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/ODBC/SchemaMgr/Ph/Rd/OwnerReader.h Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Rd/OwnerReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Rd/OwnerReader.h Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/Rd/OwnerReader.h Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Owner.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Rd/OwnerReader.cpp