我正在爲社交網站設計一個MySQL的消息/評論表。我有一個消息系統,參與兩個用戶(只有兩個,但不會超過)將具有單個/唯一的線程。因此,無論何時用戶正在給另一個用戶發送消息時,它都會檢查這兩個用戶是否具有唯一線程IF NOT,然後它將爲這兩個用戶創建唯一線程。如何在MySQL中設計消息/評論表?
create table comment_threads (
thread_id int (PK),
user_id_1 int,
user_id_2 int,
created datetime
);
create table comments (
comment_id int (PK),
thread_id int (FK),
comment text,
created datetime
);
每當用戶消息的另一用戶每次然後我要檢查兩個參與用戶是否曾有過線,所以我要在數據庫中查詢該(查詢1)。然後再次如果沒有任何線程在comment_thread中創建線程(QUERY 2)。然後再次在評論表中發佈評論(QUERY 3)。所以我必須查詢兩到三次消息。
問題:
- 是解決我的問題上表正確的方法,或者需要一些修正?
- 有沒有其他更好的方法來做到這一點?