Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Лишние запросы к базе или $_SESSION ?
Форумы портала PHP.SU » PHP » Программирование на PHP » Лишние запросы к базе или $_SESSION ?

Страниц (1): [1]
 

1. IgVlGr - 11 Апреля, 2011 - 22:55:46 - перейти к сообщению
Существует некая таблица с некоей информацией о пользователе. Возможно, этой информации достаточно много, и ее можно разбить на некие "части" (например, "мои любимые блюда", "мои книги", "мои записи" и тп). Эти части показываются авторизованному пользователю на разных страницах.
Так вот, возник вопрос, что предпочтительнее - сразу же при авторизации пользователя извлечь всю информацию из базы данных и сохранить ее в сессии, или же несколько раз обращаться к базе, выбирая информацию по мере необходимости ее показа?
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. //авторизация
  4. $qw=mysql_query("SELECT state,street,flat FROM table WHERE id_user='$id_user'")
  5. //Дальше - обработка и представление
  6. ?>
  7.  

И так - на каждой странице, но из разных полей. Или
PHP:
скопировать код в буфер обмена
  1.  
  2. //авторизация
  3. $qw=mysql_query("SELECT*FROM table WHERE id_user='$id_user'")
  4. //Дальше обработка и
  5. $_SESSION['state']=$data['state'];
  6. //и т.д., возможно, переменных можеть быть много...
  7.  
2. OrmaJever - 11 Апреля, 2011 - 23:03:38 - перейти к сообщению
Лутше 1 раз обратится к базе и переписать всё в сесии, но нужно следить за изменениями
3. levchick - 12 Апреля, 2011 - 07:20:07 - перейти к сообщению
Вы не почувствуете разницу между запросами к сессии и запросами к БД. Да, конечно она будет, но для человеческого глаза это будет не заметно. Только в случае с исльзованием сессий Вам придется заморачиваться за отслеживанием изменения иформации в БД, а это опять же теже запросы..

 

Powered by ExBB FM 1.0 RC1