solidDB SA is a C-language client library that you can use to connect to a solidDB database. The library is used internally in the solidDB server. It provides access to data in database tables. The library contains 90 functions that provide low-level mechanisms for connecting the database and running cursor-based operations.
Compared to industry standard interfaces, such as ODBC or JDBC, solidDB SA offers better flexibility in constructing the network messages that are sent to the database server. In applications where read or write performance (for example, batch inserts or primary key lookups) need to be optimized, using solidDB SA can provide a significant performance advantage. For example, if your site experiences performance bottlenecks during batch inserts, solidDB SA can reduce the bottleneck by passing several rows for insertion inside a single network message or remote procedure call.
If the performance bottleneck is in read operations, using solidDB SA might provide only minor improvement in performance.
The solidDB SA interface bypasses the SQL parser, interpreter, and optimizer. With solidDB SA you can access result sets, as long as you are not using SQL. If you need to retrieve result sets by using SQL, you must use the standardized APIs such as ODBC.
To use solidDB SA, you must convert your existing interface. Before using solidDB SA, ensure that you have exhausted other means for improving performance, for example:
▪ Write or index columns by the primary key for the most appropriate row order. If primary keys are not used, the solidDB server stores rows on disk in the order they are inserted into the database.
▪ Eliminate unnecessary indexes. For example, a query that selects more than 15% of the rows in a table can be performed faster by a full table scan.
▪ Optimize the transaction size by committing transactions after every 100-200 rows are inserted.