同じクエリで複数のステートメントをデータベースに送信することで、オーバーヘッドを削減できるかどうか疑問に思っていました。これは可能ですか?
現在、クエリを 1 つずつ送信しており、同時に複数のバッチを送信したいと考えています (全体として、2k ほどのクエリを送信しています)。
それらはすべて選択クエリです
同じクエリで複数のステートメントをデータベースに送信することで、オーバーヘッドを削減できるかどうか疑問に思っていました。これは可能ですか?
現在、クエリを 1 つずつ送信しており、同時に複数のバッチを送信したいと考えています (全体として、2k ほどのクエリを送信しています)。
それらはすべて選択クエリです
Grails と MySQL で作業するときにバッチ挿入を使用したところ、挿入にかかる時間が 100 分の 1 に短縮されました。(私はバッチ処理で一度に約 50 の挿入を処理しました) したがって、バッチ挿入は多くの時間を節約すると断言できます。
この投稿がどれだけ役立つかはわかりませんが、パフォーマンスのヘルプ: SUBQUERY と JOIN を参照してください。
テーブルを結合する方法も、パフォーマンス上の大きな問題になる可能性があります。
SQL操作をバッチ処理すると、全体的な速度が確実に向上します。小さなクエリの場合、最も遅い部分はDB接続の確立です。これは、SQLクエリ自体に関係なく、コストのかかる手順です。これらのDB接続を作成および破棄する回数を減らすことで、このオーバーヘッドを減らすことができます。