SELECT post.*
,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
session_activity.view_date AS last_view_date,
0 AS like_date
,(select sum(count_received) from dark_postrating_count where user_id = post.user_id and rating in (1,2,4,5,7,8,10)) as positive_rating_count
,(select sum(count_received) from dark_postrating_count where user_id = post.user_id and rating in (14,11,12,13)) as negative_rating_count
,(select sum(count_received) from dark_postrating_count where user_id = post.user_id and rating in (3,6,9)) as neutral_rating_count
,
pr2.rating,
pr.*, post.post_id, rating.fb_percent, rating.fb_positive, rating.fb_positivetotal, rating.fb_negative, rating.fb_neutral,
permission_combination.cache_value AS global_permission_cache
FROM xf_post AS post
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
LEFT JOIN dark_postrating pr2 ON (post.post_id = pr2.post_id and pr2.user_id = 0)
LEFT JOIN (
select
pivot_pr.post_id
, sum(case when pivot_pr.rating = 1 then 1 else 0 end) dark_postrating_1_count
, sum(case when pivot_pr.rating = 14 then 1 else 0 end) dark_postrating_14_count
, sum(case when pivot_pr.rating = 2 then 1 else 0 end) dark_postrating_2_count
, sum(case when pivot_pr.rating = 3 then 1 else 0 end) dark_postrating_3_count
, sum(case when pivot_pr.rating = 4 then 1 else 0 end) dark_postrating_4_count
, sum(case when pivot_pr.rating = 5 then 1 else 0 end) dark_postrating_5_count
, sum(case when pivot_pr.rating = 6 then 1 else 0 end) dark_postrating_6_count
, sum(case when pivot_pr.rating = 7 then 1 else 0 end) dark_postrating_7_count
, sum(case when pivot_pr.rating = 8 then 1 else 0 end) dark_postrating_8_count
, sum(case when pivot_pr.rating = 9 then 1 else 0 end) dark_postrating_9_count
, sum(case when pivot_pr.rating = 10 then 1 else 0 end) dark_postrating_10_count
, sum(case when pivot_pr.rating = 11 then 1 else 0 end) dark_postrating_11_count
, sum(case when pivot_pr.rating = 12 then 1 else 0 end) dark_postrating_12_count
, sum(case when pivot_pr.rating = 13 then 1 else 0 end) dark_postrating_13_count
from dark_postrating pivot_pr
use index (`post_id_rating`)
left join xf_post pivot_post on (pivot_pr.post_id = pivot_post.post_id)
where pivot_post.thread_id = 82999
group by pivot_pr.post_id
) pr on (pr.post_id = post.post_id)
LEFT JOIN xc_trade_user AS rating ON rating.user_id=post.user_id
LEFT JOIN xf_permission_combination AS permission_combination ON
(permission_combination.permission_combination_id = user.permission_combination_id)
WHERE post.thread_id = ?
AND (post.position >= 0 AND post.position < 20)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 82999
Run Time: 0.001951
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
PRIMARY | post | range | thread_id_post_date,thread_id_position | thread_id_position | 8 | | 1 | Using index condition; Using where; Using filesort |
PRIMARY | user | eq_ref | PRIMARY | PRIMARY | 4 | foromtb_www.post.user_id | 1 | |
PRIMARY | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | foromtb_www.post.user_id | 1 | |
PRIMARY | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | foromtb_www.post.user_id | 1 | |
PRIMARY | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | foromtb_www.post.user_id,func | 1 | Using where |
PRIMARY | pr2 | eq_ref | post_id_user_id,post_id_rating,user_id_rating | post_id_user_id | 8 | foromtb_www.post.post_id,const | 1 | |
PRIMARY | <derived5> | ref | key0 | key0 | 5 | foromtb_www.post.post_id | 2 | |
PRIMARY | rating | eq_ref | PRIMARY | PRIMARY | 4 | foromtb_www.post.user_id | 1 | |
PRIMARY | permission_combination | eq_ref | PRIMARY | PRIMARY | 4 | foromtb_www.user.permission_combination_id | 1 | Using where |
DERIVED | pivot_post | ref | PRIMARY,thread_id_post_date,thread_id_position | thread_id_post_date | 4 | const | 2 | Using index; Using temporary; Using filesort |
DERIVED | pivot_pr | ref | post_id_rating | post_id_rating | 4 | foromtb_www.pivot_post.post_id | 1 | Using index |
DEPENDENT SUBQUERY | dark_postrating_count | ref | user_id_rating | user_id_rating | 4 | foromtb_www.post.user_id | 1 | Using index condition |
DEPENDENT SUBQUERY | dark_postrating_count | ref | user_id_rating | user_id_rating | 4 | foromtb_www.post.user_id | 1 | Using index condition |
DEPENDENT SUBQUERY | dark_postrating_count | ref | user_id_rating | user_id_rating | 4 | foromtb_www.post.user_id | 1 | Using index condition |