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

Proč se řádky vrácené vysvětlením nerovnají count()?

Ukazuje, kolik řádků prošel, aby získal váš výsledek.

Důvodem nesprávných dat je to, že EXPLAIN není přesný, vytváří o vašich datech odhady na základě informací uložených o vaší tabulce.

To je velmi užitečná informace, například když provádíte JOINS na mnoha stolech a chcete si být jisti, že neprobíháte celou spojenou tabulku pro jeden řádek informací pro každý řádek, který máte.

Zde je test na 608 řádkové tabulce.

SELECT COUNT(id) FROM table WHERE user_id = 1

Výsledek:

COUNT(id)
512

A tady je vysvětlení

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

Výsledek:

id  rows
1   608


  1. Jak zkombinovat výsledky dvou dotazů v SQL

  2. rozdělení alfa a čísel pomocí sql

  3. Plánování diskového prostoru pro databáze

  4. Jak se připojíte ke stejnému stolu dvakrát v mysql?