接続プール

データベース接続プールは,データベース操作の性能を改善する一般的な方法です.これは新しい接続の作成が簡単で,確立までに数秒しかかからないので便利なことがあります.しかし,データベース操作にほんの数ミリ秒しか必要ない場合には問題です.DatabaseLink はApache Commons DBCP (http://jakarta.apache.org/commons/dbcp/index.html)上に構築された接続プールメカニズムを提供します.

接続プールの操作

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は, データベースの例の使用で述べているようにDatabaseExamples`パッケージを使ってデータベースをもとの状態に戻す必要があるかもしれません.
プールから接続を作成するには,OpenSQLConnectionUseConnectionPoolオプションが設定できます.以下に例を示します.
まず,DatabaseLink パッケージをロードします.それからプールを使って publisher 例題データベースに接続します.
In[1]:=
Click for copyable input
Out[1]=
UseConnectionPoolオプションを使う代りに,$SQLUseConnectionPoolのデフォルト値をTrueに設定することもできます.DatabaseLink をロードすると,これはFalseです.
In[2]:=
Click for copyable input
Out[2]=
OpenSQLConnection[src,UseConnectionPool->True]接続プールを使ってデータソースに接続する
$SQLUseConnectionPool常に接続プールを使うかどうか
SQLConnectionPools[]すべての有効な接続プールの情報
SQLConnectionPools[conn]接続conn のプールについての情報
SetSQLConnectionPoolOptions[pool]接続プールpool についてのオプションを設定する
SQLConnectionPoolClose[pool]接続プールpool を閉じる

接続プールを使用するためのコマンド

作成された接続プールをすべて示します.1つだけあります.
In[3]:=
Click for copyable input
Out[3]=
次はpublisher データベースへの接続に接続プールが使われたことを示しています.接続プールに使われているオプションがいくつかあります.
In[4]:=
Click for copyable input
Out[4]=
接続プールを閉じます.これはまた,プールが使用しているすべての接続も閉じます.
In[5]:=
Click for copyable input

接続プールオプション

接続プールがどのように動作するかを設定するのに数多くのオプションがあります.以下にこれらのオプションの使い方の例を示します.
まず,DatabaseLink パッケージをロードします.それからプールを使ってpublisher 例題データベースに接続します.
In[1]:=
Click for copyable input
Out[1]=
作成された接続プールをすべて示します.1つだけあります.
In[2]:=
Click for copyable input
Out[2]=
次はpublisher データベースへの接続に接続プールが使われたことを示しています.接続プールに使われているオプションがいくつかあります.
In[3]:=
Click for copyable input
Out[3]=
この接続プールのMaxActiveConnectionsオプションを設定します.
In[4]:=
Click for copyable input
Out[4]=
In[5]:=
Click for copyable input
SQLConnectionPools[]すべての有効な接続プールの情報
SQLConnectionPools[conn]接続conn のプールについての情報
SetSQLConnectionPoolOptions[pool]接続プールpool についてのオプションを設定する
CloseConnectionPool[pool]接続プールpool を閉じる

接続プールオプションを使用するための関数

オプション名
"MaxActiveConnections"プールに確保する最大接続数
"MinIdleConnections"プールに確保するアイドル状態の最小接続数
"MaxIdleConnections"プールに確保するアイドル状態の最大接続数
"Catalog"データベースカタログの場所
"ReadOnly"接続を読取り専用に設定する
"TransactionIsolationLevel"接続にトランザクション分離を設定する

接続プールオプション