SQL COUNT Leistung Frage
-
20-09-2019 - |
Frage
Struktur von Beispiel-Tabelle:
Id, Integer (PK)
Name, Varchar(100)
Description, Text
Ich muss wissen, ob Unterschied in der Leistung besteht zwischen:
SELECT COUNT(*) FROM Example;
und
SELECT COUNT(Id) FROM Example;
oder nicht existiert Unterschiede?
Lösung
existieren Unterschiede in der Leistung und die tatsächliche resultset
Andere Tipps
Überprüfen Sie die erklären Plan. Kommt das Ergebnis aus der Tabelle oder aus Meta-Daten (z INFORMATION_SCHEMA) ?: Die Unterschiede sind wahrscheinlich sehr gering sein
Ich würde glauben, dass es einen Unterschied gibt; abhängig von der Größe der Tabelle, könnte es unerheblich sein, oder es könnte von Bedeutung sein.
Dies ist wahrscheinlich die langsamste: SELECT COUNT (*) FROM Beispiel
Dies ist in der Mitte: SELECT COUNT (Id) aus Beispiel
Dies wäre am schnellsten: SELECT COUNT (1) aus Beispiel
lesenswert, aber leider in russischer Sprache.
COUNT (*), könnte es sein, schneller ?
Kurze Geschichte ist, dass COUNT(*)
ist nicht so effizient wie direkter Zugang zum dm_db_partition_stats
.