帶您深入了解SQL全文索引
索引是SQL數(shù)據(jù)庫中非常重要的部分,下文對SQL全文索引進行了詳細的介紹,希望可以使您對SQL全文索引有更深入的認識。
全文索引為在字符串數(shù)據(jù)中進行復雜的詞搜索提供有效支持。全文索引存儲關(guān)于重要詞和這些詞在特定列中的位置的信息。全文查詢利用這些信息,可快速搜索包含具體某個詞或一組詞的行。
全文索引包含在全文目錄中。每個數(shù)據(jù)庫可以包含一個或多個全文目錄。一個目錄不能屬于多個數(shù)據(jù)庫,而每個目錄可以包含一個或多個表的全文索引。一個表只能有一個全文索引,因此每個有全文索引的表只屬于一個全文目錄。
全文目錄和索引不存儲在它們所屬的數(shù)據(jù)庫中。目錄和索引由 Microsoft 搜索服務分開管理。
全文索引必須在基表上定義,而不能在視圖、系統(tǒng)表或臨時表上定義。
依據(jù)上面的描述,可以做這樣一個比喻。大家大概都見過檔案柜,檔案柜是將各種檔案按照分類登記在檔案索引卡上,這個檔案柜中的就象建立的全文索引,通過這些檔案索引卡可以迅速定位你要查找的卷宗所在的位置。如果不建立這些索引卡,如果卷宗數(shù)量不多還好,一旦檔案數(shù)量很多的時候顯然很難找到期望的卷宗,這就類似使用LIKE的情形。
全文索引和普通索引的區(qū)別:
普通SQL 索引 | 全文索引 |
存儲時受定義它們所在的數(shù)據(jù)庫的控制 | 存儲在文件系統(tǒng)中,但通過數(shù)據(jù)庫管理 |
每個表允許有若干個普通索引 | 每個表只允許有一個全文索引 |
當對作為其基礎的數(shù)據(jù)進行插入、更新或刪除時,它們會自動更新 | 將數(shù)據(jù)添加到全文索引稱為填充,全文索引可通過調(diào)度或特定請求來請求,也可以在添加新數(shù)據(jù)時自動發(fā)生 |
不分組 | 在同一個數(shù)據(jù)庫內(nèi)分組為一個或多個全文目錄 |
使用SQL Server企業(yè)管理器、向?qū)Щ騎ransact-SQL語句創(chuàng)建和除去 | 使用SQL Server企業(yè)管理器、向?qū)Щ虼鎯^程創(chuàng)建、管理和除去 |
【編輯推薦】