2012-02-19 4 views
0

Я не уверен, что это правильный сайт, чтобы опубликовать его, но мы посмотрим.php число запросов sql различается на страницу

Так что я создаю приложение, в котором пользователи подписываются на других, и каждый пользователь имеет 2 страницы для подписчиков и подписчиков, чтобы проверить его данные.

Затем я добавил кнопку «Подписаться/Отменить подписку» на странице «Подписки» (должна быть зарегистрирована и являться владельцем подписки) рядом с каждым пользователем, подписавшимся на пользователя, но это должно проверить, пользователь подписался или не отобразил нужную кнопку.

Если, например, я показываю 20 элементов на странице, мне нужно выполнить еще 20 SQL-запросов ... с некоторыми другими данными, которые мне требуются, чтобы страница могла отображать ее, может идти до 50 запросов sql ... это нормально или im, используя способ для многих запросов?

EDIT:

Это функция, которую я называю, чтобы проверить, если я подписался на любой из моих подписок, чтобы показать соответствующую кнопку

public function hasSubscribedTo($user_id){ 
    $this->db->where('uid', $this->session->userdata['uid']); 
    $this->db->where('suid', $user_id); 
    $sql = $this->db->get($this->db->dbprefix('subscribers')); 
    return $sql->num_rows(); 
} 
+0

Показать примеры ваших запросов. Я предполагаю, что у вас больше запросов, чем нужно, но это полностью зависит от запросов, которые вы используете. – MatBailie

+0

я обновил сообщение. Другие запросы по-прежнему необходимы для разных вещей, таких как получение итоговых сумм, пользовательских данных, данных профиля пользователя и т. Д. – fxuser

ответ

0

это нормально. Но вы всегда можете иметь один запрос и затем кэшировать данные, срок действия которых истекает через X секунд. а затем читать кеш. но с разбивкой на страницы или в реальном времени проверка этого материала в норме.

Вы также можете прочитать о memcache.

Модуль Memcache обеспечивает удобный процедурный и объектно-ориентированный интерфейс для memcached, высокоэффективного демона кэширования, который был специально разработан для снижения загрузки базы данных в динамических веб-приложениях.

Смежные вопросы