Enhanced Performance
Our goal for SourcePro DB is to bring performance as close as possible to native API performance benchmarks. Product features that specifically enhance performance include:
Optimized database access. To save overhead, SourcePro DB accesses the database only when necessary or when specifically requested. See
Database Tables. Bulk reads and writes. Your SourcePro DB applications can read arrays of values at once, rather than simply scalar values one at a time. If your underlying database supports this feature, processing data is dramatically faster. See
Chapter 8, Bulk Reading and Writing. Caching. You can significantly enhance performance by explicitly setting cache size in
RWDBReader and
RWDBInserter, or by using schema caching through
RWDBEnvironmentHandle. See their respective class descriptions, and
Chapter 9, Caching, of this User’s Guide.
Asynchronous processing. Your SourcePro DB applications can continue processing while waiting for I/O, if this feature is also supported by your database vendor API. See
Chapter 12, Asynchronous Usage. Dynamic SQL. You can enhance transaction-level performance by binding variables to SQL statements using the class
RWDBBoundExpr. This eliminates costly rebinding and reparsing from recurring executions, and enhances the performance of inserting, deleting, and updating. See the class description for
RWDBBoundExpr in the Reference Guide.
Multithreading. Applications that share objects of SourcePro DB across threads can use the internal mutex of objects to control database access with member functions
acquire() and
release(). A technique involving a user-supplied guard class ensures that
acquire() and
release()are called in pairs. See
The Guard Class with Templates. SourcePro DB is multithread-safe.