Запросы mySQL - разница по оптимизации

Программирование, которое не связано с API и Flash.

Запросы mySQL - разница по оптимизации

Сообщение tofido » 24 июн 2013, 15:22

Слушайте, а в таких кодах есть же разница по оптимизации или нет?

Первый вариант:

  1. $sql = "SELECT * from qwerty ...";
  2.  
  3. if (mysql_fetch_assoc(mysql_query($sql))) {
  4. while ($rr = mysql_fetch_array(mysql_query($sql))){
  5. echo $rr["id"];
  6. }
  7. }


Второй вариант:

  1. $sql =mysql_query( "SELECT * from qwerty ...");
  2.  
  3. if (mysql_fetch_assoc($sql)) {
  4. while ($rr = mysql_fetch_array($sql)){
  5. echo $rr["id"];
  6. }
  7. }


Получается что в строке $sql = mysql_query( "SELECT * from qwerty ..."); мы сразу узнаем данные с таблицы или мы их узнаем каждый раз когда вставляем $sql в mysql_fetch_assoc() и mysql_fetch_array()?
Аватара пользователя
tofido

 
Автор темы
Сообщения: 113
Зарегистрирован: 02 май 2012, 15:44
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Запросы mySQL

Сообщение Evegeniy » 24 июн 2013, 17:25

Второй вариант конечно же лучше! В первом варианте ты каждый раз клепаешь запрос к mysql.
И вообще ты пробовал запускать эти варианты?
Evegeniy

 
Сообщения: 51
Зарегистрирован: 21 фев 2013, 16:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Запросы mySQL

Сообщение tofido » 24 июн 2013, 19:07

Спасибо!)
Аватара пользователя
tofido

 
Автор темы
Сообщения: 113
Зарегистрирован: 02 май 2012, 15:44
Благодарил (а): 3 раз.
Поблагодарили: 2 раз.

Re: Запросы mySQL

Сообщение Serge » 24 июн 2013, 19:55

Дак первый то и работать не будет

УПД: Да и второй тоже сомнителен. "if (mysql_fetch_assoc($sql)) {" - зачем?

УПД2: Еще раз глянул. Вот так вот правильнее будет:
  1. $result = mysql_query($query);
  2. if(mysql_num_rows($result) != 0)
  3. {
  4.     while($row = mysql_fetch_array($result))
http://sevenlines.com.ua - разработка и продвижение сайтов
Serge
WEB Team
WEB Team
 
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55
Благодарил (а): 2 раз.
Поблагодарили: 65 раз.

Re: Запросы mySQL

Сообщение IndieGD » 24 июн 2013, 20:21

tofido, если у вас проверка на результат, только для того чтобы запустить или не запустить цикл, то она ни к чему. Если запрос не вернет результатов, то цикл так и так не сделает ни одной итерации. То есть достаточно просто этого:
  1. $result = mysql_query("SELECT * FROM qwerty");
  2. while ($array = mysql_fetch_assoc($result)) print_r($array);
IndieGD

 
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20
Благодарил (а): 1 раз.
Поблагодарили: 34 раз.


Вернуться в Программирование на PHP и других языках (без использования API)



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0