sql >> Databáze >  >> RDS >> Mysql

Mám se vyhnout COUNT dohromady v InnoDB?

SELECT COUNT(*) FROM tablename Zdá se, že provádí kompletní skenování tabulky.

SELECT COUNT(*) FROM tablename USE INDEX (collname) se zdá být docela rychlý, pokud dostupný index NENÍ NULL, UNIQUE a s pevnou délkou. NEJEDINEČNÝ index moc nepomůže, pokud vůbec. Indexy s proměnnou délkou (VARCHAR) se zdají být pomalejší, ale to může být způsobeno tím, že index je fyzicky větší. Integer UNIQUE NOT NULL indexy lze rychle spočítat. Což dává smysl.

MySQL by skutečně měla provádět tuto optimalizaci automaticky.



  1. VYBRAT denormalizované sloupce do samostatných záznamů?

  2. Node.js MYSQL zjistit úplnost INSERT/UPDATE dotazu?

  3. Jak vložit výsledky uložené procedury do dočasné tabulky na serveru SQL Server

  4. Chyba NodeJS Postgres getaddrinfo ENOTFOUND