Wie lautet der MySQL-Befehl, um die Anzahl der Datensätze in einer Tabelle abzurufen?Anzahl der Tabellenzeilen
Antwort
einfach:
SELECT COUNT(*) FROM `tablename`
select count(*) from YourTable
Wir haben eine andere Art und Weise die Anzahl der Zeilen in einer Tabelle mit aus Auswahlabfrage auf dieser Tabelle ausgeführt wird, um herauszufinden.
Jede mysql-Instanz verfügt über die Datenbank information_schema. Wenn Sie die folgende Abfrage ausführen, werden vollständige Details zur Tabelle einschließlich der ungefähren Anzahl der Zeilen in dieser Tabelle angezeigt.
select * from information_schema.TABLES where table_name = 'table_name'\G
Ist dies auch schneller auf einer MyISAM-Tabelle, da MyISAM die Anzahl der Zeilen speichert? – NaturalBornCamper
Ich habe dies nie auf MyISAM getestet. –
$sql="SELECT count(*) as toplam FROM wp_postmeta WHERE meta_key='ICERIK' AND post_id=".$id;
$total = 0;
$sqls = mysql_query($sql,$conn);
if ($sqls) {
$total = mysql_result($sqls, 0);
};
echo "Total:".$total;`
Weil niemand erwähnt es:
show table status;
listet alle Tabellen zusammen mit einigen zusätzlichen Informationen, für jede Tabelle einschließlich der geschätzten Reihen. Dies verwendet phpMyAdmin für seine Datenbankseite.
Diese Information ist in MySQL 4 verfügbar, wahrscheinlich auch in MySQL 3.23 - lange Zeit vor der Informationsschemadatenbank.
UPDATE
Da es nach unten Abstimmung war, möchte ich, dass die Zahl klären gezeigt nur für InnoDB und TokuDB geschätzt wird, und es ist absolut richtig für MyISAM und Arie (Maria) Speicher-Engines.
Das ist auch schnellster Weg, um die Zeilenanzahl auf MySQL zu sehen, denn Abfrage wie:
select count(*) from table;
vollständige Tabelle scannen tun, was sehr teure Operation sein könnte, die Stunden auf große Hochlast Server nehmen könnte. Es erhöht auch die Festplatten-E/A.
Derselbe Vorgang kann die Tabelle für Einfügungen und Aktualisierungen blockieren - dies geschieht nur bei exotischen Speicher-Engines.
InnoDB und TokuDB sind mit der Tabellensperre in Ordnung, benötigen jedoch einen vollständigen Tabellenscan.
Dies scheint die effizienteste Methode zum Zählen von Zeilen zu sein. Ich frage mich, warum es nicht die Antwort ist? Ich verwende InnoDB. Bei Tabellensperre sollte die Anzahl der Zeilen genau richtig sein? –
für innodb ist es ** geschätzt **. aber Sie können es in einigen Fällen verwenden "Unsere Website haben xxx Mitglieder", "Wir haben xxx Ergebnisse ähnlich wie Ihre" und so weiter. – Nick
Ich bin mir nicht sicher. aber für Innodb ist nicht echt zählen. Aber ist sehr nützlich für Millionen Zeilen Tabellen. – Nick
Sie haben Zählung zu verwenden() gibt die Anzahl der Zeilen, die ein angegebenen Kriterien entspricht
select count(*) from table_name;
Hier ist ein Sonderfall. Wenn Sie nie Daten aus der Tabelle löschen, können Sie einfach eine auto_increment
id
Spalte verwenden, um die Anzahl der Zeilen zu zählen. Stellen Sie sicher, dass id
nicht manuell festgelegt wird, wenn Daten in diese Tabelle eingefügt werden. Diese Operation dauert nur Millisekunden.
SELECT id FROM table ORDER BY id DESC LIMIT 1;
Dies sollte wirklich vermieden werden, es wird wiederkommen, um Sie eines Tages heimzusuchen .. – AndrewMcLagan
Verwenden Sie niemals einen Klumpen –
- 1. Tabellenzeilen in Tabellenzeilen
- 2. IDs der Tabellenzeilen übergeben
- 3. Transponierung der Tabellenzeilen Spalte
- 4. PageFactory zur Identifizierung der Tabellenzeilen
- 5. Verschiebung der Tabellenzeilen nach rechts
- 6. mysql UNION Ergebnis hat weniger Zeilen als die Summe der Anzahl der Tabellenzeilen
- 7. HTML-Tabellenzeilen
- 8. jquery Selector, um die Anzahl der sichtbaren Tabellenzeilen zu zählen? diesen HTML
- 9. HTML Ausrichtung Tabellenzeilen an der Spitze
- 10. Tabellenzeilen mit jQuery dynamisch ausblenden
- 11. Tabellenzeilen sortierbar machen
- 12. Angular Richtlinie Tabellenzeilen Ausgabe
- 13. HTML Tabellenzeilen ausblenden
- 14. Jquery Tabellenzeilen ausblenden
- 15. Gruppierung Tabellenzeilen und Seitenumbrüche
- 16. SQL foreach mit Tabellenzeilen
- 17. Passing-IDs von Tabellenzeilen
- 18. Doppelte Tabellenzeilen mit Klon
- 19. Tabellenzeilen zeigen mit Knopf
- 20. Convert Tabellenzeilen Spalte
- 21. Wie aggregieren Postgres Tabellenzeilen
- 22. Verschachtelte Tabellenzeilen in Vue
- 23. Anzahl/Anzeige der Anzahl der aktiven Goroutinen
- 24. Erhöhung der Anzahl der Anzahl pro Sekunde?
- 25. Mehrere Tabellenzeilen mit Ajax aktualisieren
- 26. Tabellenzeilen mit zwei Zeilen Text
- 27. jQuery bedingte Selektor für Tabellenzeilen
- 28. Tabellenzeilen in Komponente in Winkel 2
- 29. Eingaben in Tabellenzeilen serialisieren (jQuery)
- 30. Angular Repeat Tabellenzeilen mit Optionsfeldern
Ist es schneller, wenn ich den Namen der indizierten Spalte anstelle von * verwende? Wie folgt: SELECT COUNT (ID) FROM 'tablename' –
Nur leicht. Ich habe eine 21961904 Zeile Tabelle, die sein COUNT in 115 Sekunden abgefragt, während die Verwendung der ID 107 Sekunden dauerte. – NargothBond
COUNT (\ *) ist eine strenge Sprachdefinition. Sie erhalten einen Parse-Fehler, wenn Sie versuchen, COUNT (\ *) notieren Sie den Raum – ppostma1