Количество просмотров страниц

Как известно, все существующие решения (плагины) для подсчета количества просмотров прилично увеличивают количество запросов к базе.

Например, на моем сайте скорость загрузки главной увеличивается более чем в 3 раза:
— с включенным плагином просмотры — full time: 0.638, Mysql Query: 63
— с отключенным плагином — full time: 0.193, Mysql Query: 27

Существует ли на сегодняшний день решение без такого «нагрузона»?

Кстати, большинство сайтов используют системы аналитики (Yandex Metrika, Google Analytics и др.).
Возможно ли «вытащить» через их API данные по просмотрам в соответствии с url топика и поставлять их в футер? Ведь они там есть…

Не понимаю логику

Ребята, вопрос такой:

есть база объявлений — образно id, user_id, type, title, text. Все отлично, все работает, т.е. модуль объявлений я сделал, добавляю, удаляю объявления, все ровно, все отлично, НО для каждого объявления есть поле type, оно содержит идентификатор строки из другой таблицы содержащей список типов, это type_id, type_name. Теперь проблема — я хочу получить название типа для объявления и вывести его пользователю. что у нас есть:

обработка экшена

        protected function EventAll() {
                $oResult=$this->Mytest_GetList();
		$this->Viewer_Assign('oResult',$oResult);
                return;
        }



класс:

	public function GetList() {
		$result=$this->oMapperMytest->GetList();
		return $result;
	}


маппер:

        public function GetList()
        {
                $sql = "SELECT ad_id, ad_type, user_id, ad_price, user_ip, ad_torg, ad_hot, ad_title, ad_date, ad_status from ".DB_TABLE_ADDESK." ORDER BY ad_price";
		$aRes=array();
                if ($aRow=$this->oDb->select($sql)) {
			foreach ($aRow as $aTopic) {
				$aRes[]=new MytestEntity_Mytest($aTopic);
			}
                }
		return $aRes;
        }


шаблон:

{foreach from=$oResult item=oR}
	<tr>
		<td>{date_format date=$oR->getDate()}</td>
		<td> ВОТ ТУТ ТО БЫ И НАДО ВЫВЕСТИ ТИП ОБЪЯВЛЕНИЯ </td>
		<td><a href='/addesk/show/{$oR->getId()}.html'>{$oR->getTitle()}</a></td>
		<td>{$oR->getPrice()} {$aLang.addesk_rub} {if $oR->getTorg()==1}
<small>{$aLang.addesk_can_torg}</small>{/if}</td>
	</tr>
{/foreach}

так вот как запросить тип я не понимаю. вроде как в экшене нужно обработать, добавить в класс функцию… но нифига не получается. в вообще уже запутался… :( вобщем помогайте :(