Autor Zpráva
john
Profil *
Mám pár takových otázek.

Jedná se mi o to jestli-by byl web rychlejší nechci slyšet, že to nepoznám protože takovou návštěvnost nebudu mít to nechci slyšet zajímá mě spíše teorie toho problému.

1) když vypisuju například více věcí z databáze tak všude kde chci věc vypsat používám vlastně mysql_fetch_array ale neni třeba rychlejší když si hned zezačatku udelam třeba nějaké pole do kterého si to dám a dále už vypisuji jen z toho pole..?

2) je nějaký rozdíl mezi
$query="SELECT * FROM BLA BLA";
$result=mysql_query($query);
$vypis=mysql_fetch_array($result);
$id=$vypis['id'];
A
$id=mysql_query("SELECT id FROM BLA BLA");

3) je rozdíl mezi mysql_num_rows nebo když napíšu přímo do dotazu SELECT COUNT......?
4) je lepší rvát do jedné tabulky hodně věcí nebo si jich udělat víc a propojit je.?
5) snižuje rychlost webu to, že používám hodně proměnných.?


VŠECHNY DOTAZY SE TÝKAJÍ RYCHLOSTI WEBU PŘEDEM DĚKUJI VÁM VŠEM ZA ODPOVĚDI
jenikkozak
Profil
1) Jak kdy.
2) Ano. (A sice ten, že proměnná $result se ve druhém případě jmenuje $id.)
3) Ano.
4) Jak kdy.
5) Ano. (Kdyby tomu bylo naopak, tak lidi nedělají nic jiného, než vymýšlení názvů pro proměnné, a tvořili by je v nekonečných cyklech.)
john
Profil *
Mě by spíše zajímalo vysvětlení pro každou otázku. Vaše odpovědi mi příliš nepomohli ale i přesto díky ;-)
jenikkozak
Profil
1) Pokud budete data dále používat, hodí se je netahat stále znovu a znovu z databáze. Pokud ale web upravíte tak, že data, která chcete použít na nějakém určitém místě, natáhnete do PHP o pár řádků výše, zrychlení těžko dosáhnete.
2) V prvém případě vytahujete z databáze všechny sloupečky a v PHP z nich použijete jen jeden (id)? Ten druhý příklad není kompletní, těžko říct, co měl ukazovat. Jinak ta proměnná $query je typickou ukázkou zbytečné proměnné. Není příliš pravděpodobné, že ji používáte někde jinde, než v dosazení v následujícím řádku do funkce mysql_query.
3) Rozdíl mezi mysql_num_rows a agregační funkcí je v tom, že zatímco funce z MySQL Vám vrátí jedinou hodnotu (ten výsledek), pokud řádky počítáte až v PHP, musíte do PHP z databáze přetahovat spoustu dat jen kvůli tomu, abyste je spočítal. Ano, rozdíl je. A to takový, že se uvádí snad ve všech začátečnických přírůčkách.
4) Záleží na charakteru dat. Pokud chci ukládat data o uživatelích, pak by bylo nesmyslné, abych hash hesla ukládal do jiné tabulky než uživatelská jména, když je jasné, že každý uživatel bude mít heslo, a to právě jedno. Zato uživatelská jména a data přihlášení budu dávat do dvou různých tabulek. To je taky poměrně hodně základní věc všude vysvětlovaná.
5) Jak jsem uvedl výše, vyšší počet proměnných web nezrychlí. Na druhou stranu jestli použijete 10 proměnných, 20, nebo jednu recyklovanou, je docela jedno. Počet proměnných nebude pravděpodobně slabým místem Vaší aplikace.
snake.aas
Profil
ad 2) $query bych nepovažoval za zbytečnou proměnnou, protože výrazně zjednodušuje čitelnost kódu. Úzká hrdla bych hledal určitě jinde, než v nadeklarovaný 5ti proměnných navíc. Nehledě na to, že např. v

$arrLength = count($array);
while ($arrLength < 200) {
  ...
}
je sice proměnná navíc, ale díky ní je kód podstatně šetrnější k systémovým prostředkům (místo funkce count si představte nějakou složitější funkci, tady jen pro ilustraci)

ad 4) k tomu doporučuju nastudovat principy datové analýzy...
john
Profil *
Dobrá děkuji Vám za odpovědi.

Mě pouze teoreticky zajímalo v čem se většinou naskytují zanedbanosti vývojářů.

Snažil jsem se spíše zjistit na co si mám dát pozor ;-)

jestli se chybuje většinou s prpojeností webu s databází nebo pokud v php či tak ;-) díky všem

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