接続プール
データベース接続プールは,データベース操作の性能を改善する一般的な方法である.接続プールは新しい接続の作成が簡単で,確立までに数秒しかかからないので便利なことがあある.しかし,データベース操作にほんの数ミリ秒しか必要ない場合には問題である.DatabaseLink はApache Commons DBCP (http://jakarta.apache.org/commons/dbcp/index.html)上に構築された接続プールメカニズムを提供する.
接続プールの操作
このチュートリアルの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているように"DatabaseLink`DatabaseExamples`"パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.
UseConnectionPoolオプションを使う代りに,$SQLUseConnectionPoolのデフォルト値をTrueに設定することもできる.DatabaseLink をロードすると,これはFalseである.
OpenSQLConnection[src,UseConnectionPool->True] | |
接続プールを使ってデータソースに接続する | |
$SQLUseConnectionPool | 常に接続プールを使うかどうか |
SQLConnectionPools[] | すべての有効な接続プールについての情報 |
SQLConnectionPools[conn] | 接続 conn のプールについての情報 |
SetOptions[pool,opts] | 接続プール pool についてのオプション opts を設定する |
SQLConnectionPoolClose[pool] | 接続プール pool を閉じる |
次はpublisherデータベースへの接続に接続プールが使われたことを示している.接続プールに使われているオプションがいくつかある.
接続プールを閉じる.これはまた,プールが使用しているすべての接続も閉じる.
接続プールオプション
接続プールがどのように動作するかを設定するのに数多くのオプションがある.以下にこれらのオプションの使い方の例を示す.
まず,DatabaseLink パッケージをロードする.それからプールを使ってpublisher例題データベースに接続する.
次はpublisherデータベースへの接続に接続プールが使われたことを示している.接続プールに使われているオプションがいくつかある.
この接続プールのMaximumActiveConnectionsオプションを設定する.
SQLConnectionPools[] | すべての有効な接続プールについての情報 |
SQLConnectionPools[conn] | 接続 conn のプールについての情報 |
SetOptions[pool,opts] | 接続プール pool についてのオプション opts を設定する |
CloseConnectionPool[pool] | 接続プール pool を閉じる |
オプション名
| |
"MaximumActiveConnections" | プールに確保する最大接続数 |
"MinimumIdleConnections" | プールに確保するアイドル状態の最小接続数 |
"MaximumIdleConnections" | プールに確保するアイドル状態の最大接続数 |
"Catalog" | データベースカタログの場所 |
"ReadOnly" | 接続を読取り専用に設定する |
"TransactionIsolationLevel" | 接続にトランザクション分離を設定する |