Mysql
 sql >> Database >  >> RDS >> Mysql

mysql COUNT(*) vs COUNT(DISTINCT col)

Se la colonna è indicizzata, COUNT(DISTINCT id) deve solo restituire il numero di elementi nell'indice per la colonna. COUNT(id) deve sommare il numero di righe a cui punta ogni voce dell'indice o eseguire la scansione di tutte le righe.

Per la tua seconda domanda, vedi count(*) e count(column_name), qual è la differenza? . Il più delle volte, COUNT(*) è più appropriato; ci sono alcune situazioni, come il conteggio delle righe unite con un outer join, in cui è necessario utilizzare COUNT(columnname) perché non vuoi contare le righe nulle.