Opened 14 years ago
Last modified 14 years ago
#744 assigned enhancement
RDBMS: Incremental DescribeSchema tuning.
Reported by: | brentrobinson | Owned by: | brentrobinson |
---|---|---|---|
Priority: | major | Milestone: | 3.6.0 |
Component: | GenericRdbms API | Version: | 3.6.0 |
Severity: | 3 | Keywords: | incremental DescribeSchema performance |
Cc: | External ID: |
Description
The following sequence of steps:
- execute FdoIGetClassNames
- execute FdoIDescribeSchema for a list of classes
can be slow because the FdoIDescribeSchema step ends up fetching the classes one table or view at a time from the RDBMS server.
For example, for the SQLServerSpatial provider, describing 20 feature classes from a 1500 class local datastore takes 8 seconds.
Change History (3)
comment:1 by , 14 years ago
Status: | new → assigned |
---|
comment:2 by , 14 years ago
Revision: 5897 Author: brentrobinson Date: 10:35:46 AM, Thursday, February 17, 2011 Message: Ticket#744: Implement incremental schema loading for MySQL. Performance improvement not very dramatic but some of the physical schema reader processing was pushed down to the generic level so this change accomplishes some code cleanup.
Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/DbObject.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Owner.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Owner.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/ColumnReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/ColumnReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/ConstraintReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/ConstraintReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/DbObjectReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/DbObjectReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/FkeyReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/FkeyReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/IndexReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/IndexReader.h Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/PkeyReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/MySQL/SchemaMgr/Ph/Rd/PkeyReader.h Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/Rd/Reader.h Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/Rd/TableJoin.h Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Rd/Reader.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Rd/TableJoin.cpp
comment:3 by , 14 years ago
Revision: 5901 Author: brentrobinson Date: 3:43:59 PM, Wednesday, February 23, 2011 Message: Ticket#744: reset the index loader when a full DescribeSchema causes objects to be cached or re-cached. This prevents subsequent per-table index retrieval.
Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Owner.cpp
Revision: 5877 Author: brentrobinson Date: 3:55:08 PM, Monday, January 31, 2011 Message: Ticket#744: Bulk load tables and views if they have been cached but their columns have not.
Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/DbObject.cpp Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Owner.cpp Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Owner.h Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Rd/IndexReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Rd/IndexReader.h Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/DbObject.h Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/Owner.h Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/DbObject.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Fkey.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/IndexLoader.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Owner.cpp