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

Optimalizujte dotaz na vlastní připojení MySQL

chybí vám index. Zkuste použít EXPLAIN k analýze vašeho dotazu, hodně vám to pomůže.

Řešení je jednoduché, tady je:http://sqlfiddle.com/#! 2/56 deb/1/0

Musíte přidat index, který zahrnuje sloupce použité v příkazu where v pořadí, v jakém jsou použity:

KEY `night_of_2` (`night_of`,`student_id`,`check_class`)

Také musíte vynutit použití indexu při spojení, protože tabulku připojujete k sobě:

JOIN checks checks2

FORCE INDEX ( night_of_2 ) ON ( checks1.night_of =check2.night_of )

(pokud existuje lepší způsob, rád bych o něm věděl) ​​:)

S pozdravem



  1. Nelze získat přístup k databázi Sonar MySQL Způsobeno:java.sql.SQLException:Přístup odepřen uživateli 'sonar'@'glassfishdev.ccs.local' (pomocí hesla:ANO)

  2. Jak spočítat sloupce dotazu MySQL, když je počet vrácených sloupců dynamický?

  3. PHQL WHERE xxx IN () může získat pouze 1 data

  4. nepřetržité rolování. AJAX, PHP, JAVASCRIPT, MYSQL