Autor Zpráva
Trsy
Profil
Zdravím,
mám tabulku s 954 záznamy, když z ní však vybírám data, trvá to 3 vteřiny. Nějaké nápady, jak to urychlit?
<?php
$query = "SELECT parent FROM `permissions_inheritance` WHERE child = '".mysql_real_escape_string($jmeno)."' LIMIT 1";
$mysql = mysql_query($query);	
while($Vysledek = mysql_fetch_assoc($mysql)) {
return $Vysledek["parent"];
}
?>
shaggy
Profil
Trsy:
trvá to 3 vteřiny
3 sekundy? To kde je uložená tá databáza, na diskete?
Ten tvoj select nemôže trvať tri sekundy, musí tam byť niečo iné, čo ťa brzdí.
Trsy
Profil
shaggy:
Určitě je to tím, když tento select odělám, proběhne script hned.
Trsy
Profil
Nevím, jestli to má vliv, ale databáze je na jiném serveru.
Mastodont
Profil
while($Vysledek = mysql_fetch_assoc($mysql)) {
return $Vysledek["parent"];
}

Úžasná konstrukce, když tam je LIMIT 1, tak proč cyklus?
Trsy
Profil
Mastodont:
Opraveno, script to však nijak neurychlilo.
CZechBoY
Profil
když je databáze na jiným serveru bude to tím..
<?php
$query = "SELECT parent FROM `permissions_inheritance` WHERE child = '".mysql_real_escape_string($jmeno)."' LIMIT 1";
$start=MicroTime(true); //nastavení počáteční hodnoty měření
$mysql = mysql_query($query);
$konec=MicroTime(true)-$start;
$Vysledek = mysql_fetch_assoc($mysql));
return $Vysledek["parent"];

echo 'Query trvalo '.($konec*1000).'ms';
?>
 kolik to vypíše milisekund?

Kajman_
Profil *
Zkuste si ten dotaz i změřit i přímo na serveru s databází. Pokud je to pomalé, může to zrychlit vytvoření indexu na sloupci child (pokud tam tedy ještě není).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0