Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql COUNT(*) vs COUNT(DISTINCT col)

Jeśli kolumna jest indeksowana, COUNT(DISTINCT id) wystarczy zwrócić liczbę elementów w indeksie dla kolumny. COUNT(id) musi zsumować liczbę wierszy, na które wskazuje każdy wpis indeksu, lub zeskanować wszystkie wiersze.

W przypadku drugiego pytania zobacz count(*) i count(nazwa_kolumny), jaka jest różnica? . W większości przypadków COUNT(*) jest najbardziej odpowiedni; istnieją sytuacje, takie jak zliczanie wierszy połączonych zewnętrznym sprzężeniem, w których należy użyć COUNT(columnname) ponieważ nie chcesz liczyć pustych wierszy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetlany jest tylko pierwszy wiersz z zapytania sql

  2. mysql_fetch_assoc():podany argument nie jest prawidłowym zasobem wynikowym MySQL

  3. Prosty przykład relacji wiele-do-wielu przy użyciu Sequelize

  4. w mysql, przy usuwaniu kaskady nie działa

  5. Zestaw wyników -> getString() ulega awarii, gdy wartość jest>=16