sql >> Database >  >> RDS >> Mysql

JOIN-query's versus meerdere query's

Voor inner joins is een enkele zoekopdracht zinvol, omdat je alleen overeenkomende rijen krijgt. Voor left joins zijn meerdere zoekopdrachten veel beter... kijk naar de volgende benchmark die ik heb gedaan:

  1. Enkele zoekopdracht met 5 joins

    zoekopdracht:8.074508 seconden

    resultaat grootte:2268000

  2. 5 zoekopdrachten op rij

    gecombineerde zoektijd:0,00262 seconden

    resultaat grootte:165 (6 + 50 + 7 + 12 + 90)

.

Merk op dat we in beide gevallen dezelfde resultaten krijgen (6 x 50 x 7 x 12 x 90 =2268000)

left joins gebruiken exponentieel meer geheugen met redundante data.

De geheugenlimiet is misschien niet zo slecht als je slechts twee tabellen samenvoegt, maar over het algemeen drie of meer en het wordt verschillende zoekopdrachten waard.

Even terzijde, mijn MySQL-server bevindt zich direct naast mijn applicatieserver... dus de verbindingstijd is te verwaarlozen. Als uw verbindingstijd in de seconden is, is er misschien een voordeel

Frank



  1. Postgis installatie:type geometrie bestaat niet

  2. Installeer Web Server in Windows XP met Apache2, PHP5 en MySQL4 – Deel 4

  3. Online schema-upgrade in MySQL Galera-cluster met behulp van de RSU-methode

  4. verifiëren_queryable_inventory heeft ORA-2008 geretourneerd:time-out