另外,如果這不是正確的地方,那麼我會將它移動到堆棧溢出。我在這裏發佈了它,因爲當我在那裏有一個關於mysql的問題時,他們說這是應該問這樣的問題的地方。當使用提供的ID時,mysql選擇與外鍵連接
我遇到的問題是我的聊天系統。我有一個正常的聊天表,然後我也有用於私人消息。因此,私人消息聊天表僅包含私人消息ID,也包含應該接收它的人。
表模式是這樣的。
chat(
id int unsigned not null,
sayer_id int unsigned not null,
message_type tinyint unsigned not null,
message varchar(150) not null,
timesent timestamp on update current_timestamp,
);
索引在id和timesent上。主要是id,也是timesent上的正常索引。 第二個表是剛剛。
chat_private(
message_id int unsigned not null,
target_id int unsigned not null
)
主要是在消息ID上,也是一個外鍵。目標ID目前沒有一個,但我可以把正常的索引。
現在,我試圖做的查詢就像SELECT message, timesent FROM chat WHERE timesent>=last_update AND target_id=$userid;
last_update是一個會話變量,指出上次執行更新的時間。 $ userid是服務器端會話變量的ID。 另外我不知道如何輕鬆地做類似的事情,因爲我想從chat_private表中加入它,但我也不想處理所有的id,因爲它只是持有target_id/message_id,因此將毫無意義。
使用數據的最簡單方法是什麼?如果無法使用,那麼我只需將私人聊天和其他後續聊天移動到他們自己的表格中,並相應地調整數據大小。
有關管理DB服務器問題屬於這裏。有關數據庫設計/編程的問題屬於Stack Overflow。關於非常專業的數據庫管理員的問題屬於..以及我忘記它的名字,但也有一個專業的DBA堆棧交換站點。希望有助於超過它的混淆! – 2011-03-20 11:57:34
好吧,我不知道該把它放在哪裏,因爲我插入緩慢,因此...我不知道這是堆棧還是本站問題。我將來一定會牢記這一點。 – 133794m3r 2011-03-20 22:42:41