2014-01-18 150 views
1

比方說,我有一個表格,每行有10,000行,每個表都有一個唯一的ID。用戶第一次訪問我的網站時,我會隨機挑選100個ID,並將它們存儲在數據庫中,以便每當他返回時,我將能夠再次選擇這些確切的ID。重複選擇相同的ID組

我的問題是:什麼是最好的方式來存儲這些ID?我應該只是創建另一個表,並讓每個ID存儲每行一個?還是應該用逗號加入他們,然後將他們保存爲一個大排?每次選擇此數據的效率更高?

+3

數據庫中以逗號分隔的值不好!使用關係表。 – Barmar

回答

3

將這些關係存儲起來可能更高效。如果將它們存儲在逗號分隔的列表中,則需要在客戶端解析此列表,然後運行多個查詢。通過存儲在數據庫中,您只需要重複執行相同的查詢。

MySQL有一個query cache(默認情況下禁用),如果您重複執行完全相同的查詢並且基礎數據不會同時發生更改,則會緩存結果。