sql >> Database >  >> RDS >> Mysql

Niet efficiënt uitvoeringsplan genomen door MySQL InnoDB

MySQL kan de IN niet optimaliseren subquery leidend is (slechts één keer uitgevoerd), wordt altijd uitgevoerd voor elk record in de hoofdquery in een lus.

Vervang het door een join:

SELECT ahp.*
FROM   ar_records ar
JOIN   ah_problems ahp
ON     ahp.rnid = ar.rnid
       AND ahp.fieldId IN (5, 6)
WHERE  ar.rnid IN (6022342, 6256614, 5842714, 6302489)


  1. Invoegen in een MySQL-tabel of bijwerken indien aanwezig

  2. Met een mySQL-fout, onbekende kolom waar clausule

  3. Hoe werken Stuff en 'For XML Path' in SQL Server?

  4. SolarWinds Serv-U gebruiken op Linux met een SQL Server-verificatiedatabase