Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 15920|Risposta: 1

[Fonte] Fraintendimento di count(0) e count(*) nelle istruzioni SQL

[Copiato link]
Pubblicato su 10/08/2017 13:29:00 | | |
Recentemente, la funzione numerica è stata usata molto e, quando il numero da contare è relativamente grande, si scopre che il count(*) richiede più tempo, mentre count(1) richiede meno tempo.

Alcuni documenti contengono le seguenti affermazioni:

Se la tua tabella dati non ha una chiave primaria, allora count(1) è più veloce di count(*).  
Se esiste una chiave primaria, allora la chiave primaria (chiave primaria congiunta) è anch'essa più veloce di count(*).  
Se la tua tabella ha un solo campo, allora count(*) è il più veloce  
contare(*) contare(1) confrontare i due. La cosa principale è contare i campi dati corrispondenti a (1).  
Se count(1) è un polyindex, id, allora deve essere count(1) più veloce. Ma la differenza è molto piccola.  
Poiché count(*), il campo è automaticamente ottimizzato per specificare a. Quindi non c'è bisogno di contare(?), usare count(*), SQL ti aiuterà a completare l'ottimizzazione

  Dettagli sul conteggio:
count(*) restituirà il numero totale di tutte le righe presenti nella tabella, incluse le righe con valore nullo,Tuttavia, count (nome colonna) restituirà il numero totale di tutte le righe della tabella tranne null(Vengono conteggiate anche le colonne con valori predefiniti).
nome di colonna distinto, il risultato sarà il risultato dopo aver rimosso il valore nullo e duplicato dei dati


In passato, non sapevo che il blog dicesse che a tutti si consigliava di usare count(0) e che l'efficienza delle query fosse relativamente alta, ecc

Oggi si scopre che l'uso del count(0) sia un malinteso!!
count(0) La prima colonna della statistica non è vuota

Non usare number(nome colonna) o count(costante) invece di count(*),

count(*) è la sintassi per il numero standard di righe definite da SQL92, che non ha nulla a che fare con il database, NULL e non-NULL.

Nota: count(*) conta le righe con valore NULL, mentre count(nome colonna) non conta le righe con valore NULL.

Pertanto, in futuro, quando farai tutte le statistiche e non escludi dati vuoti, è meglio usare onestamente il conteggio (*)!!








Precedente:La differenza tra le variabili di definizione let e var in js
Prossimo:jquery implementa una tabella per visualizzare fino a 10 dati
Pubblicato su 10/08/2017 13:54:00 |
insegnò                 
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com