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

Dlaczego polecenie „wyjaśnij” daje różne wyniki przy tej samej instrukcji SQL?

FYI, okazuje się, że podczas migracji bazy danych są pewne statystyki wykorzystywane przez optymalizator silnika, aby wybrać najlepszą strategię, np. łączyć stoły, które najwyraźniej nie zostały skopiowane.

Rozwiązaniem jest uruchomienie ANALYZE na każdej z tabel, aby „odbudować” takie informacje. Więc po wykonaniu ANALIZY dla każdej tabeli i uruchomieniu explain polecenie ponownie, dane wyjściowe zgadzają się, a szybkość zapytań dramatycznie wzrasta.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz aplikację internetową w kontenerze tomcat z kontenerem mysql przez hibernację

  2. Laravel 5 Tworzenie nowego rekordu, który należy do 3 innych tabel

  3. Jak warunkowo wybrać pole z jednej z dwóch tabel?

  4. Cloud 9 IDE nie może połączyć się z bazą danych

  5. mysql automatycznie przesyła ciągi do liczby całkowitej