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

Er mysql count(*) meget mindre effektivt end count(specific_field)?

For InnoDB

Hvis specific_field er ikke nullable, de er ækvivalente og har samme ydeevne.

Hvis specific_field er nullbar, gør de ikke det samme. COUNT(specific_field) tæller de rækker, som har en ikke-nul værdi på specific_field . Dette kræver, at man ser på værdien af ​​specific_field for hver række. COUNT(*) tæller blot antallet af rækker og kan i dette tilfælde være hurtigere, da det ikke kræver at undersøge værdien af ​​specific_field .

Til MyISAM

Der er en speciel optimering til følgende, så den ikke engang behøver at hente alle rækker:

SELECT COUNT(*) FROM yourtable


  1. MYSQL- Grib de sidste 5 rækker EFTER sortering af dem efter dato

  2. MySQL kompleks underforespørgsel formulering

  3. android biometrisk USB-fingeraftryksgodkendelse tutorial

  4. MySQL-liste over alle procedurer