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

V MySQL 5 je SELECT COUNT(1) FROM název_tabulky velmi pomalý

Počítání všech řádků v tabulce je velmi pomalá operace; nemůžete to opravdu urychlit, pokud nejste připraveni počítat někde jinde (a samozřejmě to může být nesynchronizované).

Lidé, kteří jsou zvyklí na MyISAM, mají tendenci si myslet, že dostanou count(*) „zdarma“, ale ve skutečnosti tomu tak není. MyISAM podvádí tím, že nemá MVCC, díky čemuž je to docela snadné.

Dotaz, který zobrazujete, provádí úplné skenování indexu nenulového indexu, což je obecně nejrychlejší způsob počítání řádků v tabulce innodb.

Z informací, které jste uvedli, je obtížné odhadnout, co je vaše aplikace, ale obecně je v pořádku, že uživatelé (atd.) vidí ve velkých tabulkách blízké přibližné hodnoty počtu řádků.



  1. Upozornění:mysqli_connect():MySQL server odešel

  2. Připojte se k serveru SQL pomocí ověřování systému Windows z počítače se systémem Linux prostřednictvím rozhraní JDBC

  3. Formulář PHP session_start():Nelze odeslat omezovač mezipaměti relace

  4. Problém s vytvářením cizích klíčů v mySql