Страница 1 из 1
НЕмного лень читать man php =)
Добавлено: 2007-10-29 5:17:28
ADRE
как оптимизировать запросы к бд? чтобы допустим:
Код: Выделить всё
echo "<select name=city style=\"width=200px\"><option value=\"\">Везде</option>";
$sql33 = "SELECT * FROM catalog";
$result33 = $db->sql_query($sql33);
while ($row33 = $db->sql_fetchrow($result33)) {
echo "<option value=$row33[id_catalog]>$row33[name]</option>";
}
echo "</select>";
т.е не обращаться все время к БД, а один раз в оперативу подгрузить(скорее всего массивом), и потом уже из оперативки значения таскать, просто если количество допустим 20 то, выпадающая менюшка делает 20 запросов...
Re: НЕмного лень читать man php =)
Добавлено: 2007-10-29 8:10:02
kmb
Ну так сам написал же

загнать всё в массив, а потом уже оттуда выводить...
Re: НЕмного лень читать man php =)
Добавлено: 2007-10-29 9:12:56
Alex Keda
ADRE писал(а):как оптимизировать запросы к бд? чтобы допустим:
Код: Выделить всё
echo "<select name=city style=\"width=200px\"><option value=\"\">Везде</option>";
$sql33 = "SELECT * FROM catalog";
$result33 = $db->sql_query($sql33);
while ($row33 = $db->sql_fetchrow($result33)) {
echo "<option value=$row33[id_catalog]>$row33[name]</option>";
}
echo "</select>";
т.е не обращаться все время к БД, а один раз в оперативу подгрузить(скорее всего массивом), и потом уже из оперативки значения таскать, просто если количество допустим 20 то, выпадающая менюшка делает 20 запросов...
ну, в примере для любого количества пунков - один запрос.
=============
а вообще-то, включи ка ты вывод всех варнингов и эрроров на экран, и посмотри что скажет php про твой стиль написания.
вот когда уберёшь все ошибки и приведёшь код в соответствтие с синтаксисом языка - тогда и думай про оптимизацию, потому как любой варнинг - это лишний вызов его обработки, лишние тормоза.
================
и ещё - за это
тебе минус - если полей сотня, а используешь ты всего два из результата - в память почём зря тащутся все сто. Это тоже время.
Re: НЕмного лень читать man php =)
Добавлено: 2007-10-29 10:43:53
ADRE
полей всего 2-3

, точно совсем забыл про дебаг

...