3

私はRで、RMySQL(およびDBI)に接続するMySQLデータベースを使用して作業しています。

ユーザーが必要なときに、その場でSQLテーブルを読み取る(そしてそれらをRオブジェクトとしてインポートする)関数があります。彼はテーブルを頻繁に読み取ることができるか、データベースに長時間クエリを送信しないか、わかりません。

許可されている唯一の SQL 操作は、テーブルの読み取りです (SELECT *、条件なし)。

実際には、新しいテーブルを読み取る必要があるたびに新しい接続を開き、接続を閉じます。しかし、私はいくつかのアドバイスとベストプラクティスを探しています。

同じデータベースへの2つの接続を並行して開かないようにするために、接続関数を「シングルトン」として作成することを正確に説明します。

データベースに接続要求を繰り返し送信するのは悪いことですか? (以前の接続が閉じられていても) 対話がない場合でも、SQL 接続を長時間開いたままにできますか?

4

1 に答える 1

1

98% の場合、db 接続を手動で管理するべきではなく、必要に応じて ActiveRecord に接続を任せるべきです。RMySQL アダプターは、ほとんどのケースを処理できるように既に最適化されている可能性があります。事前に最適化しないように注意し、厳密に必要な場合にのみ永続的な接続に頼るようにしてください。

于 2015-04-24T15:16:27.863 に答える