我遇到以下情況,其中搜索返回userid值列表(1,2,3,4,5,6等)如果要再次運行搜索,結果保證會在一段時間後改變。但是,我需要存儲將來要使用的搜索結果實例。存儲將來使用的搜索結果
我們有一個當前實現(legacy),它使用條件爲search_id創建一條記錄,並將返回的每一行插入與關聯的search_id不同的表中。
table search_results
search_id unsigned int FK, PK (clustered index)
user_id unsigned int FK
這是一種不可接受的方法,因爲此表已經發展到數百萬條記錄。我考慮過對錶格進行分區,但是我會有很多分區(1000s)。
我已經優化了搜索結果過期的現有表格,除非它們在其他地方使用,因此所有搜索結果都在其他地方引用。
在當前架構中,我無法將結果存儲爲序列化數組或XML。我期望有效地存儲搜索結果信息,以便可以在不受記錄數量影響的情況下高效訪問它。
編輯:謝謝你的答案,我沒有任何問題自己運行搜索,但搜索結果集在這種情況下用於收件人列表,這將反覆使用,存儲的目的恰恰是在給定的時間有數據的快照。
不能同意你更多 –