Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
06.05.2011, 09:49 | #1 |
Senior Member
|
Советы по оптимизации работы tt_news.
К сожалению tt_news генерирует страницы слишком долго при большом количестве новостей из-за большого числа запросов к БД, из-за проверки неиспользуемых условий....Довольно трудно разобраться во всех этих дебрях одному...Как вы с этим боритесь,свои подходы, методы борьбы, оригинальные идеи?
__________________
Я чертовски люблю слушать ложь, смотря в глаза... особенно когда знаю правду... И никогда не вру людям,которых называю друзьями... |
08.05.2011, 13:32 | #2 |
Senior Member
|
Универсальность tt_news и следование TYPO3-way практике разработки ведут к неэффективности SQL запросов.
У меня на сервере лог медленных запросов на 95% состоит из запросов tt_news. Пример двух последовательных запросов. Они по определению не могут быстрыми. И результат на лицо - второй запрос выполняется 0.5 секунды выбирая при этом всего 7 записей. Железо очень быстрое, сайт довольно нагруженный - днем, по статистике, mysql обрабатывает около 1000 запросов заждую секунду. В tt_news чуть больше 10 тыс. записей новостей и 30 записей категорий. Код:
***** 17-03-2011 18:05:11 ***** TIME = 58.828 ms SELECT COUNT(DISTINCT tt_news.uid) FROM tt_news LEFT OUTER JOIN tt_news_cat_mm ON tt_news.uid = tt_news_cat_mm.uid_local WHERE 1=1 AND (tt_news_cat_mm.uid_foreign IN (1,32,21,25,7,11,55)) AND tt_news.uid NOT IN (9146) AND tt_news.sys_language_uid IN (0,-1) AND tt_news.pid > 0 AND tt_news.uid NOT IN (9146) AND tt_news.pid IN (85,86,87,88,137,369,520) AND tt_news.deleted=0 AND tt_news.t3ver_state!=1 AND tt_news.hidden=0 AND (tt_news.starttime<=1300377910) AND (tt_news.endtime=0 OR tt_news.endtime>1300377910) AND (tt_news.fe_group='' OR tt_news.fe_group IS NULL OR tt_news.fe_group='0' OR (tt_news.fe_group LIKE '%,0,%' OR tt_news.fe_group LIKE '0,%' OR tt_news.fe_group LIKE '%,0' OR tt_news.fe_group='0') OR (tt_news.fe_group LIKE '%,-2,%' OR tt_news.fe_group LIKE '-2,%' OR tt_news.fe_group LIKE '%,-2' OR tt_news.fe_group='-2') OR (tt_news.fe_group LIKE '%,3,%' OR tt_news.fe_group LIKE '3,%' OR tt_news.fe_group LIKE '%,3' OR tt_news.fe_group='3') OR (tt_news.fe_group LIKE '%,6,%' OR tt_news.fe_group LIKE '6,%' OR tt_news.fe_group LIKE '%,6' OR tt_news.fe_group='6') OR (tt_news.fe_group LIKE '%,7,%' OR tt_news.fe_group LIKE '7,%' OR tt_news.fe_group LIKE '%,7' OR tt_news.fe_group='7') OR (tt_news.fe_group LIKE '%,9,%' OR tt_news.fe_group LIKE '9,%' OR tt_news.fe_group LIKE '%,9' OR tt_news.fe_group='9')) ****** 17-03-2011 18:05:11 ****** TIME = 500.765ms SELECT DISTINCT tt_news.uid, tt_news.* FROM tt_news LEFT OUTER JOIN tt_news_cat_mm ON tt_news.uid = tt_news_cat_mm.uid_local WHERE 1=1 AND (tt_news_cat_mm.uid_foreign IN (1,32,21,25,7,11,55)) AND tt_news.uid NOT IN (9146) AND tt_news.sys_language_uid IN (0,-1) AND tt_news.pid > 0 AND tt_news.uid NOT IN (9146) AND tt_news.pid IN (85,86,87,88,137,369,520) AND tt_news.deleted=0 AND tt_news.t3ver_state!=1 AND tt_news.hidden=0 AND (tt_news.starttime<=1300377910) AND (tt_news.endtime=0 OR tt_news.endtime>1300377910) AND (tt_news.fe_group='' OR tt_news.fe_group IS NULL OR tt_news.fe_group='0' OR (tt_news.fe_group LIKE '%,0,%' OR tt_news.fe_group LIKE '0,%' OR tt_news.fe_group LIKE '%,0' OR tt_news.fe_group='0') OR (tt_news.fe_group LIKE '%,-2,%' OR tt_news.fe_group LIKE '-2,%' OR tt_news.fe_group LIKE '%,-2' OR tt_news.fe_group='-2') OR (tt_news.fe_group LIKE '%,3,%' OR tt_news.fe_group LIKE '3,%' OR tt_news.fe_group LIKE '%,3' OR tt_news.fe_group='3') OR (tt_news.fe_group LIKE '%,6,%' OR tt_news.fe_group LIKE '6,%' OR tt_news.fe_group LIKE '%,6' OR tt_news.fe_group='6') OR (tt_news.fe_group LIKE '%,7,%' OR tt_news.fe_group LIKE '7,%' OR tt_news.fe_group LIKE '%,7' OR tt_news.fe_group='7') OR (tt_news.fe_group LIKE '%,9,%' OR tt_news.fe_group LIKE '9,%' OR tt_news.fe_group LIKE '%,9' OR tt_news.fe_group='9')) ORDER BY datetime DESC LIMIT 7 |
Теги |
оптимизация, tt_news |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Требуется веб-программист с опытом работы в TYPO3 | anweb | Работа и заказы / Job Offer and Request | 0 | 25.10.2010 18:46 |
Оптимизация скорости работы сайта | enot | Общие вопросы | 26 | 08.10.2007 12:00 |