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

Forståelse af ydeevnepåvirkninger for mysql tuple-søgning

Ifølge dette spørgsmål , understøttelse af tuples i MySQL er ikke optimeret. Som @O.Jones skriver i sin kommentar, er forespørgselsplanlæggeren i MySQL et meget komplekst dyr, og ting der bør arbejdet opfører sig ikke altid, som du kunne forvente.

Jeg tror, ​​din anden forespørgsel er hurtigere, fordi den første where-sætning dept_id in (101, 103) reducerer søgerummet for den anden, der bruger tupler. Forespørgselsoptimeringsværktøjet bør gør dette automagisk, men gør det i hvert fald ikke i dit eksempel.

Jeg tror ikke på IN klausulen er problemet - det er tuple-sammenligningen, der scanner hele tabellen og ikke bruger tilgængelige indekser.



  1. prøver at opgradere gammel java jsf-applikation

  2. Kvalificering af et midlertidigt tabelkolonnenavn i jOOQ

  3. Efterfølgende blanktegn i varchar skal overvejes i sammenligning

  4. codeigniter aktive poster slutte sig til at bruge?