Публикации с меткой «оптимизация»
На показателях моего сайта 5500 комментариев и 1500 топиков запрос из файла /system/mappers/comments.mysql.mapper.php
SELECT
c.*,
c3.*,
u.user_login AS author_login,
t.topic_title,
t.topic_id,
t.community_id,
t.topic_comments AS essence_comments
FROM
comments AS c,
users AS u,
topics AS t
LEFT JOIN
(
SELECT
c2.community_id,
c2.community_address,
c2.community_title
FROM
community c2
) AS c3 ON c3.community_id=t.community_id
WHERE
c.essence_type="topic"
AND
c.comment_id=(SELECT comment_id FROM comments WHERE essence_type="topic" AND essence_id=t.topic_id AND t.topic_publish=1 ORDER BY comment_added DESC LIMIT 0,1)
AND
t.topic_id=c.essence_id
AND
u.user_id=c.author_id
AND
t.is_hidden IS NULL
AND
t.topic_publish IS NOT NULL
GROUP BY
t.topic_id
ORDER BY
c.comment_added
DESC LIMIT ?d, ?d
который отвечает за «15 горячих» выполняется более 30 секунд, что конечно же не допустимо. Друг помог переписать. Получилось следующее
SELECT c.*,
u.user_login AS author_login,
t.topic_title AS essence_title,
t.topic_id AS essence_id,
t.community_id,
t.topic_comments AS essence_comments
FROM comments AS c
INNER JOIN topics AS t ON t.topic_id=c.essence_id AND t.is_hidden IS NULL AND t.topic_publish IS NOT NULL
INNER JOIN users AS u ON u.user_id=c.author_id
WHERE c.essence_type="topic"
AND c.comment_id = (SELECT MAX(comment_id) FROM comments WHERE essence_id=t.topic_id)
GROUP BY t.topic_id
ORDER BY c.comment_added
DESC LIMIT ?d, ?d
Этот запрос выполняется положенное ему время 0.0000000000001 ;) Единственное, кому нужны комьюнити не выбрасывайте из запроса кусок про них. Что скажете?
Не знаю как вы, а я лично обратил внимание на то, что вот уже в течение 3-х дней сайты на основе bigstreet подвергаются спам-атаке. Заметил это на примере своего сайта, а также на других сайтах с открытой регистрацией — bigstreet.ru, flatlands.ru, lakefishing.ru и еще многих из тех, которые представлены в сообществе Powered by BigStreet. Я не знаю что это — спланированная акция или случайная брешь в коде, но проблема есть.
1. Как часто Вы заглядываете в html код страницы, лазая по сайтам? Никогда..2. Как часто Вы заглядываете туда же, оптимизируя свой? Всегда..На эти вопросы ответы очевидны и потому я ответил на них за Тебя, мой друг. Сегодня мы вкратце, а может и подробно, разберем, что видит бот на страце отображения топика и 20 комментариев к нему. После публикации идет вывод комментариев. А под каждым комментарием есть скрытая форма для ответа. Т.о. на странице с 20 комментариями 20раз! повторяется следующий код:
Думаю тема будет интересна не только мне. Как можно автоматически прикреплять на все исходящие ссылки теги noindex и nofollow? Ну или хотябы превратить все внешние в внутренные
Случайно натолкнулся на реализацию двух функций в БД-обертке бигстрита. А ведь можно сделть немного проще и красивше.
|
|