KB_Soft Group - Software Vendor's Development Partner
Start page
Site map
Contacts
 

Performance Optimization of DB Management Components

 
   

Objectives

Our Customer noticed, after he had changed his DB access module (he replaced the old module which used ODBC with the new one that worked via ADO), the application performance fell down significantly (became several times lower). The aim of

  this project was to investigate what caused the loss of performance, and eliminate the problems. It was necessary to optimize either the code of the DB access module, or the code that used this module, in order to eliminate the loss of performance.

   

Results

Since the DB access module was completely rewritten, the analysis of code modifications was an ineffective measure. While implementing the project, it was discovered that loss of performance is directly proportional to the square of the amount of the processed data. Also, it was found out, that if the amount of processed data grows, then the size of memory used by this application grows too. This was not typical for this application, since it performed stream data processing, and the memory space used should not depend on the amount of the processed data. Thus, it was necessary to optimize the performance
  of the application, as well as the memory use. By tracing the calls to the database and debugging the application, the source of loss of performance was detected. The wrapper performing the INSERT query caused the problems and had to be optimized. To eliminate loss of performance, we completely redesigned the piece of DB access module that implemented the records insertion. During this module modification the requirement was not only to find a more effective way of its implementation, but the way to work with all databases supported by the module as well (the DB access module was universal, it targeted MDB, MS SQL, and Oracle).