Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy powinienem unikać COUNT wszystkich razem w InnoDB?

SELECT COUNT(*) FROM nazwa tabeli wydaje się, że wykonuje pełne skanowanie tabeli.

SELECT COUNT(*) FROM nazwa tabeli USE INDEX (nazwa kolumny) wydaje się być dość szybki, jeśli dostępny indeks nie jest NULL, UNIQUE i ma stałą długość. Indeks nieUNIKALNY niewiele pomaga, jeśli w ogóle. Indeksy o zmiennej długości (VARCHAR) wydają się być wolniejsze, ale może to być spowodowane tym, że indeks jest fizycznie większy. Indeksy typu Integer UNIQUE NOT NULL można szybko policzyć. Co ma sens.

MySQL naprawdę powinien przeprowadzić tę optymalizację automatycznie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najważniejsze błędy, których należy unikać podczas replikacji MySQL

  2. Wyzwalacze MYSQL:JSON_SEARCH wartość całkowita w tablicy liczb całkowitych json

  3. Kiedy wybrać Oracle zamiast MySQL?

  4. Wstaw dużą ilość zmiennych do tabeli za pomocą PDO

  5. Różnice między INDEX, PRIMARY, UNIQUE, FULLTEXT w MySQL?