Überprüfen Sie, ob der MySQL-Tabelle leer ist: COUNT(*) ist null vs. LIMIT(0,1) hat ein Ergebnis?

Dies ist eine einfache Frage nach Effizienz speziell im Zusammenhang mit der MySQL-Implementierung. Ich will nur überprüfen, ob eine Tabelle leer ist (und wenn es leer ist, füllen Sie es mit der Standard-Daten). Wäre es am besten, verwenden Sie eine Anweisung wie SELECT COUNT(*) FROM `table` zu vergleichen und dann zu 0, oder wäre es besser zu tun, eine Aussage wie SELECT `id` FROM `table` LIMIT 0,1 dann überprüfen, wenn keine Ergebnisse zurückgegeben wurden (die Ergebnismenge hat Folgendes)?

Obwohl ich brauche diese für ein Projekt an dem ich arbeite, bin ich auch daran interessiert, wie MySQL funktioniert mit diesen beiden Aussagen, und ob der Grund die Leute scheinen zu empfehlen COUNT(*) ist, weil das Ergebnis zwischengespeichert wird oder ob es tatsächlich durchläuft jede Zeile und fügt eine Zählung, wie es intuitiv scheint mir.

InformationsquelleAutor flungo | 2014-04-14
Schreibe einen Kommentar