Zadejte hledaný výraz...

optimalizace MySQL dotazu

Nazdar zda se vam konstrukcne tento dotaz spatny?
$q0 = "SELECT cas FROM `statistika` where url='$url' and ip='$ip' order by id desc limit 0,1";
$r0 = mysql_query($q0);
echo mysql_error();
$z0=mysql_fetch_array($r0);
if(date("j.n.Y", ($z0))!=date("j.n.Y",$cas)){
$q = "INSERT INTO `statistika` VALUES('', '$url' ,'$cas','$ip','$pristup','$id_polozka')";
$r = mysql_query($q);
}
Na hostingu trva jeho vypocet neumerne dlouho je to problem hostingu nebo tohoto dotazu. Dekuji
16. 6. 2009 11:52:38
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321684
Jaromir Fojtu
verified
rating uzivatele
(10 hodnocení)
16. 6. 2009 12:29:29
Teoreticky na tech dotazech neni nic spatne - Query Optimizer je tvuj kamarad ;]
Prakticky bude doba behu zalezet na mnozstvi dat. - Sloupce url, ip by mely byt indexovane.
Doporucuji si nastudovat neco o casovych udajich v DB a vyhnes se prasarnam typu if(date("j.n.Y", ($z0))!=date("j.n.Y",$cas))
Opravdu to dela to co chces aby to delalo?
order by id desc limit 0,1
16. 6. 2009 12:29:29
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321683
Milan Kryl
verified
rating uzivatele
(26 hodnocení)
16. 6. 2009 13:12:55
Pokud tohle volas pri kazdem zobrazeni stranky a mas vetsi navstevnost... tak to muze byt problem :)
16. 6. 2009 13:12:55
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321682
isgroup
verified
rating uzivatele
(2 hodnocení)
16. 6. 2009 14:10:20
ukaz strukturu tabulky vcetne indexu..
Napsal frances;305873
Nazdar zda se vam konstrukcne tento dotaz spatny?
$q0 = "SELECT cas FROM `statistika` where url='$url' and ip='$ip' order by id desc limit 0,1";
$r0 = mysql_query($q0);
echo mysql_error();
$z0=mysql_fetch_array($r0);
if(date("j.n.Y", ($z0))!=date("j.n.Y",$cas)){
$q = "INSERT INTO `statistika` VALUES('', '$url' ,'$cas','$ip','$pristup','$id_polozka')";
$r = mysql_query($q);
}
Na hostingu trva jeho vypocet neumerne dlouho je to problem hostingu nebo tohoto dotazu. Dekuji
16. 6. 2009 14:10:20
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321681
Napsal isgroup;305945
ukaz strukturu tabulky vcetne indexu..
id url cas ip pristup id_polozka
16. 6. 2009 15:24:31
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321680
hm
verified
rating uzivatele
(20 hodnocení)
17. 6. 2009 12:08:14
tady by mel nekdo vzit prirucku MySQL a studovat ;)...
17. 6. 2009 12:08:14
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321679
Jak to myslis? kde je problem?
18. 6. 2009 07:58:37
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321678
znouza
verified
rating uzivatele
19. 6. 2009 01:04:33
Napsal frances;306897
Jak to myslis? kde je problem?
$q = "INSERT INTO `statistika` VALUES('', '$url' ,'$cas','$ip','$pristup','$id_polozka')";
dobrej zacatek ke spouste problemu... jakoby byl problem vypsat i jmena sloupcu, to se pak blbe hleda chyba, kdyz clovek prida o sloupec vic/ubere do tabulky..
19. 6. 2009 01:04:33
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321677
hrki
verified
rating uzivatele
(1 hodnocení)
19. 6. 2009 10:42:22
"limit 0,1" sa da zapisat aj skratene ako "limit 1" ale to je skor vec vkusu
tiez tam mas podla mna zbytocne moc premennych , uz $z0 moze byt = mysql_fetch_array(mysql_query("select ..."));
detto $q $r , su tam zbytocne kedze npouzijes premennu dalej na overenie jej vykonania, kludne ich vynechaj a napis len priamo mysql_query("...");
kvoli prehladnosti si vypis aj bunky do ktorych vkladas a mozes vyhodit s poziadavky id kedze to mas auto_increment
co sa tyka datumov v poslednej dobe sa mi osvedcilo ukladat ich vo unixovom formate /* date("U"); */ , pri tahani s db je potom jednoduche ich porovnat a lahsie sa mi aspon osobne pracuj s casovymi funkciami.
ale vsetko toto su viacmenej chybicky krasy , podstatna je ta struktura tabulky vratane typov buniek a ich nastaveni. takze sem skus postnut aj to
19. 6. 2009 10:42:22
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321676
Jaromir Fojtu
verified
rating uzivatele
(10 hodnocení)
19. 6. 2009 11:52:09
Napsal hrki;307486
co sa tyka datumov v poslednej dobe sa mi osvedcilo ukladat ich vo unixovom formate /* date("U"); */ , pri tahani s db je potom jednoduche ich porovnat a lahsie sa mi aspon osobne pracuj s casovymi funkciami.
OT: Az ti aplikace pobezi na zle nastavene DB, budes chtit pouzit vyber dat z urciteho casoveho useku, pracovat s kalendari, pracovat s ruznymi casovymi pasmy, zjistis ze UNIX timestamp je velmi zla volba a budes rad za prapodivne hacky, ktere ti nahradi standartni databazove funkce.
19. 6. 2009 11:52:09
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321675
hrki
verified
rating uzivatele
(1 hodnocení)
19. 6. 2009 14:37:11
Napsal syntaxsugar;307536
OT: Az ti aplikace pobezi na zle nastavene DB, budes chtit pouzit vyber dat z urciteho casoveho useku, pracovat s kalendari, pracovat s ruznymi casovymi pasmy, zjistis ze UNIX timestamp je velmi zla volba a budes rad za prapodivne hacky, ktere ti nahradi standartni databazove funkce.
praveze sa mi jednoduchsie pracuje s unixovym formatom aj pri vytahovani dat s isteho casoveho useku. je to vec vkusu a zalezi na tom co je cloveku jednoduchsie.
19. 6. 2009 14:37:11
https://webtrh.cz/diskuse/optimalizace-mysql-dotazu/#reply321674
Pro odpověď se přihlašte.
Přihlásit