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

zrozumienie mysql wyjaśnij

Paweł:

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column=other_table.column;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column_part1=other_table.column
AND ref_table.key_column_part2=1;
SELECT * FROM ref_table WHERE key_column=expr;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column=other_table.column;

SELECT * FROM ref_table,other_table
WHERE ref_table.key_column_part1=other_table.column
AND ref_table.key_column_part2=1;

Są one skopiowane dosłownie z podręcznika MySQL:http:// dev.mysql.com/doc/refman/5.0/en/using-explain.html

Gdybyś mógł opublikować swoje zapytanie, które trwa wieczność , mógłbym pomóc określić, co to spowalnia. Określ również, jaka jest twoja definicja słowa na zawsze jest. Ponadto, jeśli możesz podać swój „SHOW CREATE TABLE xxx;” instrukcji dla tych tabel, mógłbym pomóc w optymalizacji zapytania tak bardzo, jak to możliwe.

To, co wyskakuje mi od razu jako możliwy punkt poprawy, to „Używanie tymczasowych; Używanie sortowania plików;”. Oznacza to, że utworzono tabelę tymczasową w celu spełnienia zapytania (niekoniecznie jest to coś złego) i że wskazana przez Ciebie grupa GROUP BY/ORDER BY nie mogła zostać pobrana z indeksu, co skutkuje sortowaniem plików .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolejność MySQL według najlepszego dopasowania

  2. Jak uzyskać różnicę między dwiema datami w zaokrągleniu do godzin?

  3. Jak obliczyć nachylenie w SQL

  4. Główny klucz tworzenia tabeli migracji Rails

  5. Zaktualizuj tabelę mysql za pomocą zapytania wybierającego z innej bazy danych