sql >> データベース >  >> RDS >> Mysql

node-mysql接続プール

    更新:2013年2月-プールのサポートがnode-mysqlに追加されました。docsを参照してください

    組み込みプールの使用例:

    var pool = require('mysql').createPool(opts);
    
    pool.getConnection(function(err, conn) {
      conn.query('select 1+1', function(err, res) {
        conn.release();
      });
    });
    

    2013年以前のソリューション:

    node-pool を使用できます または mysql-pool または、独自の単純なラウンドロビンプールを使用します

    function Pool(num_conns)
    {
        this.pool = [];
        for(var i=0; i < num_conns; ++i)
            this.pool.push(createConnection()); // your new Client + auth
        this.last = 0;
    }
    
    Pool.prototype.get = function()
    {
        var cli = this.pool[this.last];
        this.last++;
        if (this.last == this.pool.length) // cyclic increment
           this.last = 0;
        return cli;
    }
    

    これで、すべてのクエリコールバックを1秒で実行できるようになります。

    var p = new Pool(16);
    for (var i=0; i < 10; ++i)
    {
        p.get().query('select sleep(1)', function() { console.log('ready'); } ); // server blocks for 1 second
    }
    


    1. YEARWEEK()の例– MySQL

    2. 挿入スクリプトを作成するSQLスクリプト

    3. ON CONVERSION ERRORがORA-43918で失敗する:この引数はリテラルである必要があります

    4. MySQLがテーブルをデータベースに実装する