我有一個名爲wp_bp_activity
具有很多列,我認爲我應該與他們的4個工作這個問題表:id
,type
,item_id
和date_recorded
。理念的寫作MySQL查詢
1 -當有人張貼了新的活動type
是activity_update
和item_id
是0
2 -當有人發表新評論它type
被activity_comment
和item_id
在存在活動ID活動列id
3 -在兩者中,date_recorded
是數據插入的日期編輯。
還有更多type
S IN表。
但是我想(在date_recorded
我認爲基於)
這點我嘗試提取只與activity_update
type
行某人最近回覆或是新的是:
SELECT a.*, b.*
FROM wp_bp_activity as a, wp_bp_activity as b
WHERE
((b.type = 'activity_update') OR (b.type = 'activity_comment' AND b.item_id = a.id))
order by cast(a.date_recorded as datetime) desc
limit 0,20
那執行時間過長,以內存不足錯誤結束。
對這種查詢的任何幫助表示讚賞。
更新#1
wp_bp_activity table
id type item_id date_recorded
|---------|-----------------------|-----------|--------------------------
| 12081 | activity_comment | 12079 | 2013-10-18 07:27:01
|---------|-----------------------|-----------|--------------------------
| 12080 | activity_update | 0 | 2013-10-18 07:26:40
|---------|-----------------------|-----------|--------------------------
| 12079 | activity_update | 0 | 2013-10-17 05:15:43
我從這個表要哪行是這些ID的順序是:
12079
12080
我不想讓:
activity_comment
類型
以哪種順序行取回?
正如你可以看到與activity_comment
類型的行有一個item_id
與值12079
。所以12079
是,最近有人對其提出評論最新的活動,並12080
沒有評論,但剛剛發佈。所以我希望兩個,但在這個順序:
12079
12080
沒有helppppppppppppp – revo
請revo,看我的更新... :) –
我的主要問題是你有沒有添加體面的索引到表? :) – Brian