Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:fc19:70...–

peter
PHP › chat
22. 7. 2014   #192317

To mas tezky. Zalezi na tom, jake mas moznosti a prostredky. Pokud mas diskove pole nebo pamet, tak si muzes dovolit drzet db soubor v pameti. Db soubor je vzdycky soubor. Vyhledavani v souboru, kdyz to dela mysql, tak je to obvykle rychle. Ale muzes pouzit i php program SQL lite http://www.root.cz/…a-lehke-sql/ . Muzes pouzit system, ktery pouziva doku-wiki, ktere tez umi fungovat s i bez mysql.
Klasicka mysql klidne zvladne 1.000.000 radku, pokud mas spravne indexy. SQL lite bude samozrejme pomalejsi.

Pokud budes treba jednou za hodinu promazavat radky, tak se pri 1000 uzivatelich nejspis pres 10 mil nedostanes. Pripadne lze udelat dve-tri, kdy jednu promazes kazdych 20 min a z ostatnich dvou budes vyhledavat radky uzivatelu.
0-20: ukladas 1, hledas 1,3, smazes 2
20-40: ukladas 2, hledas 1,2, smazes 3
40-60: ukladas 3, hledas 2,3, smazes 1
Promazani cele tab bez podminek je rychlejsi. Vyhledavani radku v jedne nebo ve dvou tabulkach, na tom tolik nesejde. ale tim bych se vubec nezatezoval do te doby nez ti skutecne nebude stihat ta jedna tabulka.

Jak je to s tou pameti... Kdyz to das do pameti, tak obvykle db i soubor je stejne rychly. Zalezi pak uz na zpusobu vyhledavani. Pokud mas neco jako SQL lite, tak to si dela indexy jako mysql. Pokud nemas, tak si musis napsat program, ktery ti nad souborem udela indexy pro vyhledavani radku.

peter
PHP › Alternativa za PHP funkce
22. 7. 2014   #192316

   

(strlen($string) < 10);
//se dá nahradit
 !isset($string[10]);
Strlen zjistuje delku retezce a porovnavas to dal < 10
Isset zjistuje existenci 10 prvku. Pokud je $string array, tak je to 10. prvek pole. kdyz je to to string, tak je to 10. pismeno. A kdyz je tam false, tak to vyhlasi error. A kdyz je undefined, tak to taky vyhlasi error.
Ale, isset by mohlo byt rychlejsi nez porovnavat <10.
Cili, pouziti toho nebo onoho plati za urcitych podminek a nelze tvrdit, ze je neco lepsi, kdyz ty podminky neznas, nemas presne definovane.

is_array($array);
//se dá nahradit
$array === (array) $array;
Tak tohle bych nedelal. Is_array by melo byt asi rychlejsi nez prevadet neco na array.

//případně také
array_key_exists($klic, $array);
//za
isset($array[$klic]);
Isset bude myslim opet rychlejsi.

Muzes zkusit do google = PHP Equivalent  code structure
Vetsinu z toho se da najit v manualu v prikladech od uzivatelu k dane funkci.
Pripadne muzes zkusit dat do fora dotaz na optimalizaci, kdyz soucasne zadas, co do funkce vstupuje a co ma z ni vyjit ven.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý