全文檢索索引

来源:互联网 发布:剑三成男捏脸数据非法 编辑:程序博客网 时间:2024/04/28 03:43
 

全文檢索索引

Microsoft® SQL Server™ 2000 資料的全文檢索支援包含兩個功能:查詢字元資料的能力,以及建立和維護有助於這些查詢的基本索引。

全文檢索索引與一般 SQL 索引的不同處如下。

一般 SQL 索引 全文檢索索引 儲存於其所定義的資料庫,受資料庫控制 儲存於檔案系統,但透過資料庫管理 允許每個資料表包含多個一般索引 只允許每個資料表中有一個全文檢索索引 當依據的資料有插入、更新或刪除時,會自動更新索引內容。 將資料加入全文檢索索引就叫作擴展,可透過排程或特定的要求來要求執行,也可在加入新的資料時自動執行。 沒有分組。 在相同的資料庫中分組為一或多個全文檢索目錄。 利用 SQL Server Enterprise Manager、精靈或 Transact-SQL 陳述式來建立及卸除。 利用 SQL Server Enterprise Manager、精靈或預存程序來建立、管理及卸除。

因以上的差異,我們必須在管理上作某些工作。其中全文檢索必須在以下幾個層級中完成管理工作:

  • 伺服器

    可設定伺服器上的屬性,如 resource_usage 值的設定值可以增加以減少全文檢索服務所使用的系統資源。

    附註  全文檢索引擎以 Microsoft Search Service之名,在 Microsoft Windows NT® Server 及 Microsoft Windows® 2000 Server上面執行。Microsoft SQL Server 個人版並未提供 Microsoft Search Service。雖然這表示 Microsoft Windows 95 或 Windows 98、Windows NT Workstation 或 Windows 2000 Professional 用戶端都未安裝 Microsoft Search Service,但是這些用戶端在連接至 SQL Server 標準版或企業版之執行個體時,可利用該項服務。

  • 資料庫。

    資料庫必須啟用全文檢索索引服務,在已啟用的資料庫中,可建立與卸除一或多個全文檢索目錄的中繼資料。

  • 全文檢索目錄

    在資料庫中應存在一含有全文檢索索引的全文檢索目錄,此目錄每個目錄都可滿足資料庫中一或多個資料表的索引需求。目錄會透過以下說明的管理機能來填入索引。(全文檢索目錄必須位於與 SQL Server 執行個體相關聯的本機硬碟中。抽取式磁碟機、軟碟及網路磁碟機並未支援。)每個伺服器最多可建立 256 個全文檢索目錄。

    附註  Windows NT 容錯移轉叢集環境完全支援全文檢索索引。如需詳細資訊,請參閱利用容錯移轉叢集執行全文檢索查詢。

  • 資料表

    要支援全文檢索功能,必須先啟用資料表。接著,如資料表名稱及其全文檢索目錄等的中繼資料,需針對與資料表相關的全文檢索索引,進行建立。資料表啟用後,您便可在已啟用全文檢索功能的資料行中填入資料。如果資料表的全文檢索定義變更時(例如,增加一可當全文搜尋索引的新資料行),則相關的全文檢索目錄必須重填入,如此新的全文檢索定義才能與全文檢索索引維持一致性。

  • 資料行

    支援全文檢索查詢的資料行可新增或從非現用的註冊資料表卸除。

在這些層級中,均有提供可取得中繼資料、狀態等資訊的功能。

全文檢索索引如同一般的 SQL 索引一樣,都會在關聯資料表中的資料修改時自動更新。此外,全文檢索索引也可以按適當的間隔,以手動的方式重新填入。此重新填入的工作會相當費時及佔用資源;因此,此工作為非同步程序,且通常在資料庫較少人使用的期間於背景執行。

若資料表具有相同的更新特性時,(例如,資料更改量的大小或是資料更改的時間性),應該在同一群組並指派相同的全文檢索資料目錄給它們。以這種方式設定全文檢索目錄擴展排程,即使在較多人使用資料庫的期間,全文檢索索引仍會與資料表達到同步,而不會影響資料庫伺服器的資源使用情形。

對於在全文檢索目錄中,規劃資料表的全文檢索索引之位置選擇是相當重要的。要指派資料表到全文檢索目錄時,請注意以下幾點原則:

  • 永遠選取最小的唯一索引,作為全文檢索唯一索引鍵。(四個位元組的整數式索引最好。)如此可大幅減少 Microsoft Search Service在檔案系統中所需的資源。如果主索引鍵較大 (超過 100 bytes) 時,考慮選擇表中另一唯一索引來作全文檢索唯一索引值 (或建立另一唯一索引)。若全文檢索唯一索引值的大小達到允許的最大值 (450 byte) 時,則全文的填入工作將無法進行。

  • 如果您替含有百萬列的資料表建立索引時,則將此資料表指派給自已所擁的全文檢索目錄。

  • 考慮已有全文檢索索引資料表,其發生資料變更的數量以及資料表資料列的數目。如果資料列變更的數目加上上回執行全文檢索填入的資料列總和超過百萬時,則將此資料表指派給自已所擁的全文檢索目錄。
原创粉丝点击