2016-11-23 28 views
0

在設計尋找意見跟蹤電子郵件的事件: - 排隊 - 交付 - 打開 - 點擊 - 反彈 - 標記爲垃圾郵件數據庫設計用於跟蹤事件

以上所述的事件,將有關於他們的獨特信息。例如,打開的事件將具有ip &瀏覽器信息,類似地,點擊事件也將包含單擊的鏈接。

我在想每個事件的一個表,其中有相應的email_id,根據需要有列(link_clicked,ip_address等)。

我的問題確實是,如果我想要得到電子郵件ID爲X的最後5個事件,而不是查詢每個表格並按時間排序,然後選擇最後5個,那麼有沒有中間表格是不好的做法, email_events,這將是一個連接它們的多態關係,它們還將包含一個用於排序的時間列?

謝謝!

回答

0

不!一張桌子,而不是每個事件一張桌子。

SELECT ... 
    WHERE id = ... 
    FROM Events 
    ORDER BY timestamp DESC 
    LIMIT 5; 

獲取最近5次(或更少)的事件。