Opened 16 years ago

Closed 16 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 brentrobinson, 16 years ago

Status: newassigned

comment:2 by brentrobinson, 16 years ago

Resolution: fixed
Status: assignedclosed

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

Note: See TracTickets for help on using tickets.