sql >> Database >  >> RDS >> Mysql

Mysql-optimalisatie op basis van explain

probeer inner join in plaats van sub-queryit is standaard om zoekopdrachten te begeleiden zonder op gegevens te draaien, maar het kan zijn dat het volgen van de query je kan helpen.

SELECTEER User .id , User .username , User .password , User .role , User .created , User .modified , User .email , User .other_user_id , User .first_name , User .last_name , User .place_id , Resume .id , Resume .user_id , Resume .other_resume_id , Resume .other_user_id , Resume .file_extension , Resume .created , Resume .modified , Resume .is_deleted , Resume .has_file , Resume .is_stamped , Resume .is_active

FROMstreetofwalls .users AS User
LEFT JOIN my_database .attempts AS Attempt AAN (Attempt .user_id =User .id EN Attempt .test_id !=5)LEFT JOIN my_database .reports AS Resume AAN (Resume .user_id =User .id )

, my_database .users AS-gebruiker1

LEFT JOIN my_database .tags_users AS TagGebruiker aan (User1 .id =TagUser .user_id )

LEFT JOIN my_database .tags AS-tag AAN (TagUser .tag_id =Tag .id )

WHEREUser .id =User1 .id EN Attempt .test_id =8AND Attempt .score> 60
EN Resume .has_file =1EN Tag .id ='8' EN Tag .id !='3'GROEP OP User .id BESTEL DOOR Attempt .score DESC;




  1. Een verwijderknop in PHP toevoegen aan elke rij van een MySQL-tabel

  2. MySQL Select:WHERE (time now) =TUSSEN tabelwaarde EN tabelwaarde

  3. SQL tussen operator

  4. Installatie van pg gem mislukt, mkmf.rb kan geen header-bestanden voor ruby ​​vinden (Mac OSX 10.6.5)