Hirdetés

Keresés

Új hozzászólás Aktív témák

  • cinemazealot

    addikt

    LOGOUT blog

    válasz wopi #5060 üzenetére

    Megpróbálnám a lekérdezést beburkolni egy PHP szkriptbe, amiben kiírnám a lekérdezés előtt és utáni pillanatban aktuális gépidőt (a microtime(); függvénnyel), hogy lássam, milyen lassan futott le a szkript. Ha a két pillanat között sok idő telik el, akkor az SQL bibis. Természetesen PHP helyett lehet más szkriptet is alkalmazni.

    Pl. ha sok oszlopot vagy nagy mennyiségű adatot tartalmazó rekordokat kérdezel le a SELECT-tel, akkor érdemes nem az összes oszlopot lekérdezni, hanem csak azt, amit akarsz. Tehát
    SELECT * FROM table;
    helyett
    SELECT oszlop1, oszlop2 FROM table;

    Vagy ha sok sor várható a lekérdezés eredményeként, érdemes limitálni a lekérdezett rekordok számát:
    SELECT oszlop1, oszlop2 FROM table LIMIT 10;

    Azok az oszlopok pedig, amik mondjuk egy WHERE vagy egy ORDER BY záradékban szerepelnek, legyenek indexelve. Persze fontos, hogy az indexelt oszlopok olyan típusúak legyenek, amin az indexelés hatékony (pl. TINYINT, INT, CHAR vagy VARCHAR, de semmiképp sem TEXT, LONGTEXT, BLOB).

Új hozzászólás Aktív témák