2009-07-30 132 views
1

我想弄清楚爲一個簡單的術語搜索多個不同表的最佳方法。我心目中Sql Server:實現一個多表搜索

1兩種解決方案)創建一個「搜索表」具有以下結構,並創建在表上的觸發器我想搜索到這些信息輸入的搜索表

ID || String to check against || Table || TableId =================================================================

2)創建一個海量存儲過程來搜索我關心的表和列。

我將在一個Asp.Net MVC網站上使用這個解決方案和實體框架,所以我現在傾向於第一個解決方案。

哪個解決方案更有意義/更好?

+0

不錯的256那裏。 – Sam 2009-07-30 20:32:41

+0

這是一次性的事情還是會在你的應用程序? – Sam 2009-07-30 20:35:28

+0

這將在應用程序 – 2009-07-30 20:50:13

回答

1

SQL Server全文搜索(FTS):

  • 高度優化
  • 支持多種
  • 語言查詢多個服務器上
  • 索引XML類型很多
  • 更多的功能
  • 全文目錄

SQL Server FTS由幾個組成部分:

  • 收集者
  • 索引
  • 過濾管理器
  • 篩選Daemon
  • 全文目錄

如果限制產出數量,SQL服務器FTS真正起作用好。

+0

設置FTS有多複雜?它與ASP.NET MVC很好地工作嗎? – 2009-07-30 20:02:36

+0

並不複雜,一般適用於ASP.NET。在線看一些教程。 – 2009-07-30 21:23:29

0

選項1有很多的開銷和複製數據 - 大聯合視圖會更好:

SELECT 'Table1', Table1_ID as Table_ID, Col1 as SearchCol 
FROM Table1 
UNION ALL 
SELECT 'Table2', Table2_ID as Table_ID, Col3 as SearchCol 
FROM Table2 
etc 

你甚至可以使一個索引視圖,如果你需要更好的性能。