我正在嘗試確定如何最佳設計用於快速搜索文本的存儲設施。可搜索表格 - 你會做什麼?
- 將有針對每個客戶
- 這些文件是XML不同的文件格式,字段名和屬性都不是標準的,不遵循一個模式
- 客戶有一個選項可以選擇某些字段可搜索
每個客戶可能有每個文件100,000條記錄。
我正在處理這些文件並根據客戶端配置指定的列生成表。
你會選擇什麼類型的數據庫模式,無論是SQL,還是平面文件或其他技術。
會有很多行要搜索,我不知道怎麼走最好。
創建一個名爲SearchColumns
Id
CustomerId
DisplayValue
創建一個名爲 「SearchRecords」
Id
SearchColumnId
SearchText
在這種情況下表中,SearchRecords表會變得非常大,非常快表,並且因爲SearchText將會是varchar(200),所以LIKE查詢會變得非常慢。
我也考慮過SearchRecords表上的全文搜索,但是在樣本表上測試時,我並沒有像我期望的那樣得到結果。
我也考慮過每個客戶使用不同的數據庫 這將有助於短期內的表格大小,但在數月或數年後,表格大小和速度會變慢。
你會做什麼來做一個快速搜索表,這將有可能擁有數百萬條記錄?
編輯:
我拉着值,如全名,地址,並從XML文件帳號:有關數據我存儲的信息。這些字段非常小,很可能永遠不會超過200個字符。
數據庫中只會有一列名爲「SearchText」這不是XML數據,而是從xml字段中提取數據。我希望這有助於澄清一些事情。 – 2010-09-27 17:20:28