sql >> Database teknologi >  >> RDS >> Mysql

Mysql-optimering baseret på forklaring

prøv indre joinforbindelse i stedet for underforespørgsel, det er standard for at guide forespørgslen uden at køre på data, men det kan være, at du følger forespørgslen, vil det hjælpe dig.

VÆLG 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

FRAstreetofwalls .users AS User
LEFT JOIN my_database .attempts AS Attempt TIL (Attempt .user_id =User .id OG Attempt .test_id !=5) VENSTRE JOIN my_database .reports AS Resume TIL (Resume .user_id =User .id )

, my_database .users SOM bruger1

VENSTRE JOIN my_database .tags_users AS TagUser på (User1 .id =TagUser .user_id )

VENSTRE JOIN my_database .tags AS Tag TIL (TagUser .tag_id =Tag .id )

WHEREUser .id =User1 .id OG Attempt .test_id =8OG Attempt .score> 60
OG Resume .has_file =1OG Tag .id ='8' OG Tag .id !='3'GRUPPER EFTER User .id BESTIL EFTER Attempt .score DESC;




  1. Sådan erstattes NULL med en anden værdi i SQL Server – ISNULL()

  2. nvarchar-sammenkædning / indeks / nvarchar(max) uforklarlig adfærd

  3. CakePHP rekursiv sletning

  4. mysql pivottabel med strengværdier