1. Einleitung Wenn ein Programm auf eine Tatsächlich bietet 2. JDBC implementiert Streaming-Abfragen Streaming-Abfragen können implementiert werden, indem die Methode öffentliche int ausführen(String sql, boolean isStreamQuery) wirft SQLException { Verbindung conn = null; Vorbereitete Anweisung stmt = null; Ergebnismenge rs = null; int-Anzahl = 0; versuchen { //Datenbankverbindung abrufen conn = getConnection(); wenn (istStreamQuery) { //Streaming-Abfrageparameter festlegen stmt = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); stmt.setFetchSize(Integer.MIN_VALUE); } anders { //Normale Abfrage stmt = conn.prepareStatement(sql); } //Führen Sie die Abfrage aus, um das Ergebnis zu erhalten rs = stmt.executeQuery(); //Durchlaufe die Ergebnisse, während (rs.next ()) { System.out.println(rs.getString(1)); zählen++; } } Fang (SQLException e) { e.printStackTrace(); Endlich schließen(stmt, rs, conn); } Anzahl zurückgeben; } "PS": Im obigen Beispiel wird der Parameter 3. Leistungstest Zum Testen wird eine Testtabelle
3.1. Allgemeine Abfragen mit großem Datenvolumen testen@Prüfen öffentliche void testCommonBigData() wirft SQLException { Zeichenfolge SQL = "Wählen Sie * aus my_test aus"; testExecute(sql, false); } 3.1.1. Abfragezeit 27W Datenvolumen dauert 38 Sekunden 3.1.2. Speichernutzung Verwendet fast 1 GB Speicher 3.2. Testen von Streaming-Abfragen mit großem Datenvolumen@Prüfen öffentliche void testStreamBigData() wirft SQLException { Zeichenfolge SQL = "Wählen Sie * aus my_test aus"; testExecute(sql, true); } 3.2.1. Abfragezeit 27W Datenvolumen dauert 37 Sekunden 3.2.2. Speichernutzung Da es in Chargen erworben wird, schwankt der Speicher zwischen 30-270m 3.3. Testen Sie normale Abfragen mit kleinem Datenvolumen@Prüfen öffentliche void testCommonSmallData() wirft SQLException { Zeichenfolge SQL = "Wählen Sie * aus my_test-Limit 100000, 10"; testExecute(sql, false); } 3.3.1. Abfragezeit 10 Daten dauern 1 Sekunde 3.4. Streaming-Abfrage mit kleiner Datenmenge testen@Prüfen public void testStreamSmallData() wirft SQLException { Zeichenfolge SQL = "Wählen Sie * aus my_test-Limit 100000, 10"; testExecute(sql, true); } 3.4.1. Abfragezeit 10 Daten dauern 1 Sekunde IV. FazitMySQL-Streaming-Abfragen haben offensichtliche Optimierungseffekte auf die Speichernutzung, haben jedoch nur geringe Auswirkungen auf die Abfragegeschwindigkeit. Sie werden hauptsächlich verwendet, um das Szenario hoher Speichernutzung bei der Abfrage großer Datenmengen zu lösen. „DEMO-Adresse“: https://github.com/zlt2000/mysql-stream-query Dies ist das Ende dieses Artikels über die Verwendung von Streaming-Abfragen in MySQL zur Vermeidung von Daten-OOM. Weitere relevante Inhalte zu MySQL-Streaming-Abfragen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Eine einfache Möglichkeit zum Erstellen einer Docker-Umgebung
>>: Natives JS zur Implementierung der E-Mail-Eingabeaufforderung im Anmeldefeld
In der MySQL-Dokumentation können MySQL-Variablen...
Detaillierte Erklärung zum MySQL-Export von Daten...
Inhaltsverzeichnis Standards für flüssige Animati...
Inhaltsverzeichnis 1. Übersicht 2. Namensfeld 3. ...
veranschaulichen: VMware IOInsight ist ein Tool, ...
Codeeffekte werden häufig in unterschiedlichen Br...
1 Frage Der Server des Unternehmens verwendet Apa...
Für viele inländische Werbetreibende ist die Erste...
Ein einfacher Linux-Ratespiel-Quellcode Spielrege...
1. Voraussetzungen Wir verwenden zum Importieren ...
Inhaltsverzeichnis Einführung Wirkung Prinzip bil...
einführen Dieser Artikel basiert auf React + antd...
Zusammenfassung Projektbeschreibungsformat < i...
Verwenden Sie JS, um einen einfachen Rechner für ...
Erstellen Sie zunächst die Falldemonstrationstabe...