1. はじめにプログラムが 実際、 2. JDBCはストリーミングクエリを実装するストリーミング クエリは、JDBC の パブリック int execute(String sql, boolean isStreamQuery) は SQLException をスローします { 接続 conn = null; PreparedStatement stmt = null; 結果セット rs = null; 整数カウント = 0; 試す { //データベース接続を取得します。conn = getConnection(); if (isStreamQuery) { //ストリーミング クエリ パラメータを設定します。stmt = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); stmt.setFetchSize(Integer.MIN_VALUE); } それ以外 { //通常のクエリ stmt = conn.prepareStatement(sql); } //クエリを実行して結果を取得します。rs = stmt.executeQuery(); // 結果を走査します while (rs.next ()) { System.out.println(rs.getString(1)); カウント++; } } キャッチ (SQLException e) { e.printStackTrace(); ついに 閉じる(stmt、rs、conn); } カウントを返します。 } 「PS」: 上記の例では、パラメーター 3. パフォーマンステストテスト用にテストテーブル
3.1. 大容量データの一般クエリをテストする@テスト パブリック void testCommonBigData() は SQLException をスローします { 文字列 sql = "select * from my_test"; テスト実行(sql, false); } 3.1.1. クエリ時間 27wのデータ量は38秒かかります 3.1.2. メモリ使用量 約1Gのメモリを使用 3.2. 大容量データストリーミングクエリのテスト@テスト パブリック void testStreamBigData() は SQLException をスローします { 文字列 sql = "select * from my_test"; テストを実行します(sql, true); } 3.2.1. クエリ時間 27wのデータ量は37秒かかります 3.2.2. メモリ使用量 バッチで取得されるため、メモリは30〜270mの間で変動します。 3.3. 少量データに対する通常のクエリのテスト@テスト パブリック void testCommonSmallData() は SQLException をスローします { 文字列 sql = "select * from my_test limit 100000, 10"; テスト実行(sql, false); } 3.3.1. クエリ時間 10個のデータには1秒かかります 3.4. 少量のデータでストリーミングクエリをテストする@テスト パブリック void testStreamSmallData() は SQLException をスローします { 文字列 sql = "select * from my_test limit 100000, 10"; テストを実行します(sql, true); } 3.4.1. クエリ時間 10個のデータには1秒かかります IV. 結論MySQL ストリーミング クエリはメモリ使用量に明らかな最適化効果をもたらしますが、クエリ速度にはほとんど影響しません。主に、大量のデータをクエリするときにメモリ使用量が高くなるシナリオを解決するために使用されます。 「デモアドレス」: https://github.com/zlt2000/mysql-stream-query これで、MySQL でストリーミング クエリを使用してデータ OOM を回避する方法に関するこの記事は終了です。MySQL ストリーミング クエリに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: ログインボックスのメールプロンプトを実装するネイティブJS
Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...
仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...
Navicat を使用してリモート Linux MySQL データベースに接続すると、不明なエラー ...
テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...
Windows に mysql5.7.18zip バージョンをインストールするには、使用前に解凍し...
序文みなさんこんにちは。CSS ウィザードの alphardex です。この記事では、three.j...
データベース内のテーブルのフィールドとプロパティをエクスポートし、テーブルを作成してWordに保存す...
HTML 構造は次のとおりです。 CCS 構造は次のとおりです。 ページ効果図は次のとおりです。 こ...
目次1. 基本を理解する2. システム環境を確認する3. ftpコマンドをインストールする[オプショ...
Docker で MySQL コンテナを作成する場合、コンテナの起動後にデータベースとテーブルが自動...
目次1. カレーとは何か2. カレーの用途3. カリー化ユーティリティ関数をカプセル化する方法 1....
序文この記事は私自身の製作過程の簡単な記録です。練習中に質問があれば、一緒に話し合うことができます。...
背景最近、面接でデータベース トランザクションについてよく質問されます。通常は、@Transacti...
まず、セキュリティ上の理由から、JavaScript はローカル リソース ファイルに直接アクセスで...
目次序文解決ツールの紹介仕組み使用制限使用上の注意使用例いくつかのパラメータの説明出力例Tencen...