| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal KViki: 01.12.2009 23:19 | |
|
Je toto vyberanie s tabulky nevhodne pre velku db? velka db znamena okolo ta_orders ma cez 2000 riadkov a ta_address cez 1000,. na skusubnom serveri pracuje velmi dobre ale priamo v tejto velkej db nie,. ostane prazdna strava v browseri,. Moze to byt teda tim ze je tabulka velka?Da sa to napisat lepsie pre velku tabulku?
Kód: $query1 = "SELECT * FROM ta_orders"; $result1 = mysql_query($query1) or die(mysql_error());
while($row1 = mysql_fetch_array($result1)){ if($row1['id_order']==$_GET['id_order']){ $deliveryAdress=$row1['id_address_delivery']; }
$query = "SELECT * FROM ta_address"; $result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){ if($row['id_address']==$deliveryAdress){ $adresadoruceniaulica=$row['address1']; $adresadoruceniadotadot=$row['address2']; $adresadoruceniamesto=$row['city']; $psc=$row['postcode']; } } };
|
|
Registrovaný: 20.07.08 Príspevky: 474 Témy: 1 Bydlisko: Kosice | Napísal mbc: 01.12.2009 23:22 | |
|
pouzi WHERE klauzulu, resp. rovno aj JOIN a vysledok (adresu) dostanes jedinym selektom
Naposledy upravil mbc dňa 01.12.2009 23:25, celkovo upravené 1
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 01.12.2009 23:25 | |
|
miesto coho? miesot toho if?
|
|
Registrovaný: 20.07.08 Príspevky: 474 Témy: 1 Bydlisko: Kosice | Napísal mbc: 01.12.2009 23:28 | |
|
nieco taketo by mohlo fungovat:
Kód: $query = "SELECT address1, address2, city, postcode FROM ta_address JOIN ta_orders ON ta_orders.id_address_delivery=ta_address.id_address WHERE ta_orders.id_order = " . $_GET['id_order']
toto ti vrati jeden riadok, info o adrese pre danu objednavku
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 01.12.2009 23:41 | |
|
vystup bude co? alebo jak to naslapem do tych premennych?
|
|
Registrovaný: 20.07.08 Príspevky: 474 Témy: 1 Bydlisko: Kosice | Napísal mbc: 02.12.2009 0:04 | |
|
$query mas vyssie....
Kód: $result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
$adresadoruceniaulica=$row['address1']; $adresadoruceniadotadot=$row['address2']; $adresadoruceniamesto=$row['city']; $psc=$row['postcode'];
|
|
Registrovaný: 11.08.09 Prihlásený: 30.04.12 Príspevky: 22 Témy: 4 |
Len tak na okraj, ze nieco okolo 2000 riadkov je velka db? Velka db je db, ktora sa rata na miliony riadkov a nie na tisice
|
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 02.12.2009 12:37 | |
|
ona ma cez 2 miliony,. ale v tabulke je asi tych 2000 riadkov,. v jednej z nich ,myslim
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 Bydlisko: Bratislava |
Velkost databazy nie je dolezita, dolezita je velkost tabulky (tabuliek) z ktorych data vyberas.
A potom jeste mnzostvo dalsich veci. (zvolena struktura, charakter dat, pripadne deformacie tabuliek, indexy a vhodne napisany dotaz).
Tvoj povodny pristup (vybrat vsetky zaznamy a v cykle hladat ten jediny ktory ta zaujima) je uplne najhorsie mozne riesenie. Niet divu ze to trvalo dlho.
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 21.10.08 Prihlásený: 18.12.19 Príspevky: 198 Témy: 74 Bydlisko: Nitra | Napísal autor témy KViki: 02.12.2009 13:34 | |
|
aj som si to myslel,. preto som sa obratil na forum,.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|