Блог

Фрілансера

RSS
rss
Закладки

Січ

15

Оптимізація php-коду ч.1

категорія: php

Останнім часом приходиться часто задумуватись над швидкістю роботи скрипта. Особливо коли кодинг іде під великий проект.
Тому ділюсь деякими моментами оптимізації.

Вибірка з бази даних.

Як вибрати дані з бази даних?
Звичайний спосіб:


$sql = 'SELECT * FROM `users`';
$result = mysql_query($sql);
if (!$result) {
    echo mysql_error();
    exit;
}
if (mysql_num_rows($result) == 0) {
    echo "No rows found";
    exit;
}

А я пропоную дещо краще:


function fetchRow($sQuery) {
  $res = mysql_query($sQuery);
  $aRet = mysql_num_rows($res) ? mysql_fetch_assoc($res) : false;
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRow('SELECT * FROM `users`');

В результаті маємо масив даних, або false, якщо даних немає.
Це якщо збираємось вибирати тільки один рядок.

А якщо буде більше одного рядка – то:


function fetchRows($sQuery) {
  $res = mysql_query($sQuery);
  $iNumRows = mysql_num_rows($res);
  $aRet = array();
  if ($iNumRows) {
    while ($iNumRows-- > 0) {
      $aRet[] = mysql_fetch_assoc($res);
    }
  } else {
    $aRet = false;
  }
  mysql_free_result($res);

  return $aRet;
}

$aData = fetchRows('SELECT * FROM `users`');

В результаті маємо масив рядків або false.

Share

и в чем оптимизация? разница только в mysql_free_result

блог php программиста

no spam <noindex> <nofolow>

Блог фрілансера
Sergunik
2009-2010