DataConnector
接続プーリング
ADO.NET provider for Magento > 接続プーリング

The ADO.NET provider for Magento implements connection pooling to reduce the efforts of repeatedly opening and closing connections. A connection pool is a cache of database connections maintained where user can reuse existing active connections with the same connection string instead of creating new connections when a request is made to the database.

Connection?pools are used to enhance the performance of executing commands on a database. The provider by default supports pooling as the UsePool property is set to True. However, pooling can be disabled by setting UsePool property to False.

The following example demonstrates the implementation of connection pooling in the ADO.NET provider for Magento.

C#
コードのコピー
//接続文字列を定義します。

string connectionString= $"Url='http://***.***.***.***;Consumer Key='*************';Consumer Secret='***********';Verifier='****************'“;

//接続プーリングを使用する場合: プールから既存の接続オブジェクトを再利用することで時間を節約します。
for (int i = 0; i < 1000; i++)
{
    C1MagentoConnection connection = new C1MagentoConnection ($@"{connectionString};Use Pool=true;");
   connection .Open(); //ソフトな接続が構築されます。
    //操作を実行します。
    connection .Close();//接続を切ります(接続オブジェクトを接続プールに返します)。
}

The following example demonstrates how to disable connection pooling by setting the "Use Pool" property to false in the connection string.

C#
コードのコピー
//接続プーリングを使用しない場合
Console.WriteLine("Estabilishing connection setting UsePool to false");
for (int i = 0; i < 1000; i++)
{
    C1MagentoConnection conn = new C1MagentoConnection ($@"{connectionString};Use Pool=false;");
    conn.Open();//毎回新しい接続が作成されます。
    // 操作を実行します。
    conn.Close();//接続を切ります(Connectionオブジェクトはガベージコレクションに移動されます)。
}
Console.WriteLine("Connections established and closed !!! ");