LINUXTALKS.CO

Какие настройки фильтра в треккере вы используете?

 

L


0

1

Настало время придать фильтрам чуть больше смысла. Сейчас, как вы понимаете, они не отображают смысл того, что делают. Просто проголосуйте за ту кнопку, что обычно тыкаете.

  1. все12 (92%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. без talks1 (8%)

    **************************

  3. основные (по умолчанию)0 (0%)

  4. тех. разделы форума0 (0%)

Всего голосов: 13

>>> Проголосовать

★★☆☆☆

@cocucka, может тебе интересно, какие sql-запросы @maxcom пишет…

SELECT * FROM (SELECT DISTINCT ON(id) * FROM (SELECT t.userid as author, t.id, lastmod, t.stat1 AS stat1, g.id AS gid, g.title AS gtitle, t.title AS title, comments.id as cid, comments.userid AS last_comment_by, t.resolved as resolved,section,urlname,comments.postdate as comment_postdate, sections.moderate as smod, t.moderate, t.sticky, t.postdate as topic_postdate, t.deleted, t.postscore as topic_postscore FROM topics AS t, groups AS g, comments, sections WHERE g.section=sections.id AND not t.draft AND t.id=comments.topic AND t.groupid=g.id AND t.postscore IS DISTINCT FROM 10002 AND comments.id=(SELECT id FROM comments WHERE NOT deleted AND comments.topic=t.id  AND not exists (select ignored from ignore_list where userid=$1 intersect select get_branch_authors(comments.id)) ORDER BY postdate DESC LIMIT 1) AND comments.postdate>CURRENT_TIMESTAMP-'4 days'::interval  AND t.lastmod>CURRENT_TIMESTAMP-'4 days'::interval  AND NOT t.deleted  AND (t.moderate or NOT sections.moderate)  AND t.userid NOT IN (select ignored from ignore_list where userid=$2)  AND not t.groupid in (8404, 19390) UNION ALL SELECT t.userid as author, t.id, lastmod,  t.stat1 AS stat1, g.id AS gid, g.title AS gtitle, t.title AS title, 0, 0, t.resolved as resolved,section,urlname,postdate as comment_postdate, sections.moderate as smod, t.moderate, t.sticky, t.postdate as topic_postdate, t.deleted, t.postscore as topic_postscore FROM topics AS t, groups AS g, sections WHERE sections.id=g.section AND not t.draft AND t.postdate>CURRENT_TIMESTAMP-'4 days'::interval   AND NOT t.deleted  AND (t.moderate or NOT sections.moderate)  AND t.userid NOT IN (select ignored from ignore_list where userid=$3)  AND not t.groupid in (8404, 19390)  AND g.id=t.groupid) as tracker ORDER BY id, comment_postdate desc) tracker WHERE true  AND tracker.id NOT IN (select tags.msgid from tags, user_tags where tags.tagid=user_tags.tag_id and user_tags.is_favorite = false and user_id=$4 except select tags.msgid from tags, user_tags where tags.tagid=user_tags.tag_id and user_tags.is_favorite = true and user_id=$5) ORDER BY comment_postdate DESC LIMIT $6 OFFSET $7
crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от TheAnonymous

все, теперь вижу где это, спасибо

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от crypt

Это говно, если вынести во временные таблицы/процедуры или вообще логику агрегации на бекенд (на вкус и цвет) будет отрабатывать раза в два быстрее.

А если еще и структуру таблиц додумать, где агрегация калькулируется сразу при вставке/апдейте, то и запросы станут в разы легче и работать будет раз 10-20 быстрее.

deep-purple    
★★★★★★★★★★
Android / Firefox
Ответ на: комментарий от crypt

Да она будет работать. Тем более, что логику работы СУБД и кеширование в ней не идиоты писали. Но подзапросы с агрегированием – это насилие.

deep-purple    
★★★★★★★★★★
Android / Firefox
Ответ на: комментарий от deep-purple

о чем и говорю, что насилие…

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от deep-purple

очень хорошо. если захочешь обсудить что-то приватное, то и обсуждай приватно. ок?

crypt    
★★☆☆☆
FreeBSD / Chrome
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90