2017-02-14 20 views
0

すべての着信要求に対して、ミドルウェアから要求パラメータにknexトランザクションを追加したいとします。knex.transaction()の内部で何が起こるか

knex.transaction()のパフォーマンスはどのようになっていますか?データベース接続を開くなどの費用がかかりますか?

ありがとうございます! :)

+0

私はあなたが最初の[取引](HTTPSについて何かを読むことをお勧め: //en.wikipedia.org/wiki/Database_transaction)、アプリケーションでいつ、どのように使用するべきかを考えてください。 – piotrbienias

+0

ありがとうございましたが、私はそれらの使い方を知っています。 – Ben

答えて

0

熱心に熱心に取引が開かれています。したがって、knex.transactionに電話すると、そこからクエリを送信していなくても、すぐにプールからデータベース接続を予約します。

また、暗黙的にオープンされたトランザクションを作成する場合は、コミット/ロールバックされるようにしてください。そうしないと、要求が処理されて接続プールがいっぱいになると、それらは生き残ります。だからではなく、常にあなたがそれを呼び出したときに初めてなまけシングルトントランザクションを作成しますreq.trx()ミドルウェアを、さらす検討するかもしれないトランザクションを開く

...

関連する問題