Heim > Datenbank > MySQL-Tutorial > Wie kann ich Zeilen in einer umfangreichen Datenbanktabelle verschiedener Anbieter effizient zählen?

Wie kann ich Zeilen in einer umfangreichen Datenbanktabelle verschiedener Anbieter effizient zählen?

Linda Hamilton
Freigeben: 2025-01-14 16:41:44
Original
940 Leute haben es durchsucht

How Can I Efficiently Count Rows in a Massive Database Table Across Different Vendors?

Tipps zum Zählen von Zeilen in großen Datenbanktabellen

Beim Umgang mit sehr großen Datenbanktabellen kann das genaue Zählen von Zeilen eine Herausforderung sein. In vielen Artikeln wird darauf hingewiesen, dass herkömmliche SELECT COUNT(*) FROM TABLE_NAME-Methoden bei der Verarbeitung großer Datenmengen eine schlechte Leistung erbringen. In diesem Artikel werden datenbankanbieterunabhängige Zeilenzähllösungen unter Berücksichtigung der folgenden spezifischen Anforderungen untersucht:

  • Datenbankanbieterunabhängig, deckt MySQL, Oracle und MS SQL Server ab
  • Reine SQL-Lösung
  • Verwenden Sie keine externen Tools und ändern Sie das Datenbankdesign nicht

Datenbankanbieterunabhängige Lösung

Leider gibt es derzeit keine datenbankanbieterunabhängige Lösung, die die COUNT(*)-Methode übertreffen und die genaue Anzahl von Zeilen ermitteln kann. Die Standardsyntax ist immer noch die zuverlässigste Methode.

Annäherungslösung für SQL Server

SQL Server bietet einige Näherungslösungen, diese Methoden gehen jedoch über den Rahmen dieses Artikels hinaus, da sie die für die Frage erforderliche genaue Zählung nicht erfüllen können.

Ergänzung: SQL Server-Beispiel

Um das Problem zu veranschaulichen, haben wir eine Tabelle mit 1,4 Milliarden Zeilen und 12 Spalten getestet:

  • SELECT COUNT(*) FROM MyBigtable WITH (NOLOCK): Es dauerte 5 Minuten und 46 Sekunden und das Zählergebnis war 1.401.659.700
  • SELECT Total_Rows = SUM(st.row_count) FROM sys.dm_db_partition_stats st WHERE object_name(object_id) = 'MyBigtable' AND (index_id

Letzteres gibt aufgrund gleichzeitiger Schreibvorgänge während des Tests eine etwas geringere Anzahl von Zeilen zurück. Daher ist SELECT COUNT(*) immer noch die bevorzugte Methode, um die genaue Anzahl der Zeilen zu ermitteln.

Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen in einer umfangreichen Datenbanktabelle verschiedener Anbieter effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage