Domanda

Struttura della tabella Esempio:

Id, Integer (PK)
Name, Varchar(100)
Description, Text

Ho bisogno di sapere se esiste differenza di prestazioni tra:

SELECT COUNT(*) FROM Example;

e

SELECT COUNT(Id) FROM Example;

O non esiste differenze?

È stato utile?

Soluzione

Le differenze esistono in termini di prestazioni e di risultati attuale

Prestazioni di COUNT funzione SQL

Altri suggerimenti

Controllare il piano di spiegare: fa il risultato provenire da tavolo o da meta dati (ad esempio INFORMATION_SCHEMA) ?: Le differenze sono suscettibili di essere molto minimale

.

Vorrei credere che ci sia una differenza; a seconda delle dimensioni della tabella, potrebbe essere irrilevante, o potrebbe essere significativo.

Questa è probabilmente la più lenta: SELECT COUNT (*) FROM Esempio
Questo è nel mezzo: SELECT COUNT (Id) dall'esempio
Questo sarebbe più veloce: SELECT COUNT (1) dell'esempio

Da leggere, ma purtroppo in russo.

COUNT (*), potrebbe essere più veloce ?

Breve storia è che COUNT(*) non è così efficiente come l'accesso diretto alla dm_db_partition_stats.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top