sql >> Database >  >> RDS >> Mysql

Negeren zeer kleine MySQL-tabellen indexen?

NOT IN ( SELECT ... ) is erg slecht geoptimaliseerd, vooral in oudere versies.

Wijzig dit:

SELECT  abc.*
    FROM  abc
    LEFT JOIN  zyx  ON zyx.abc_id = abc.id
    WHERE  zyx.abc_id IS NULL;
AND  zyx.id = 12345 ;

Gebruik voor zyx INDEX(id, abc_id) of INDEX(abc_id, id)

Als zyx.id is de PRIMARY KEY , uw zoekopdracht heeft niet veel zin -- waarom testen voor een enkele rij (12345)?




  1. Parseerfout:parseerfout in php

  2. Een formulier maken met de formulierwizard

  3. n-percentielberekeningen in postgresql

  4. Welk type JOIN te gebruiken?