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

Dlaczego wiersze zwracane przez wyjaśnienie nie są równe count()?

Pokazuje, ile wierszy przebiegło, aby uzyskać wynik.

Powodem błędnych danych jest to, że EXPLAIN nie jest dokładny, zgaduje Twoje dane na podstawie informacji przechowywanych o Twojej tabeli.

Jest to bardzo przydatna informacja, na przykład podczas wykonywania JOINS w wielu tabelach i chcesz mieć pewność, że nie przechodzisz przez całą złączoną tabelę dla jednego wiersza informacji dla każdego posiadanego wiersza.

Oto test na 608-rzędowej tabeli.

SELECT COUNT(id) FROM table WHERE user_id = 1

Wynik:

COUNT(id)
512

A oto wyjaśnienie

EXPLAIN SELECT COUNT(id) FROM table WHERE user_id = 1

Wynik:

id  rows
1   608


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować sterownik pdo w obrazie dokera php?

  2. Jak obliczyć średnią dzienną sprzedaż w MySQL?

  3. Uruchom MySQLDump bez blokowania tabel

  4. Jak utworzyć tabelę przestawną w MySQL

  5. Jak usunąć duplikaty z tabeli MySQL?