国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解

2024-08-31 01:01:46
字體:
供稿:網(wǎng)友

先介紹一下SQLSERVER中的存儲類對象,哈哈,先介紹一下概念嘛,讓新手老手都有一個(gè)認(rèn)知
SQLSERVER Management Studio將【全文目錄】、【分區(qū)函數(shù)】以及【分區(qū)方案】節(jié)點(diǎn)納入其【對象資源管理器】的【存儲】節(jié)點(diǎn)之中,如下圖所示:

SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解


全文目錄

數(shù)據(jù)庫【存儲】|【全文目錄】節(jié)點(diǎn)是用于保存和管理【全文索引】的節(jié)點(diǎn)。全文目錄通常是由同一數(shù)據(jù)庫中的零個(gè)或多個(gè)數(shù)據(jù)表的全文索引構(gòu)成的。
需要注意的是,只能為每個(gè)數(shù)據(jù)表創(chuàng)建一個(gè)全文索引。因此,一旦在某個(gè)數(shù)據(jù)表上創(chuàng)建了全文索引,那么該數(shù)據(jù)表將只能隸屬于一個(gè)全文目錄。換言之,

一個(gè)數(shù)據(jù)庫可以包含一個(gè)或多個(gè)全文目錄,一個(gè)全文目錄可以包含一個(gè)或多個(gè)全文索引,但一個(gè)數(shù)據(jù)表只能隸屬于一個(gè)數(shù)據(jù)庫全文目錄和全文索引。

在SQLSERVER2005中使用全文索引的主要步驟如下:

(1)首先需要?jiǎng)?chuàng)建全文目錄。
(2)然后將需要?jiǎng)?chuàng)建全文索引的數(shù)據(jù)表中的數(shù)據(jù)填充到全文目錄中。這一過程也被稱為填充全文索引。
(3)完成上述兩步之后,即可開始使用全文索引功能。

創(chuàng)建全文目錄的方法非常簡單。通過SSMS以及T-SQL都可以實(shí)現(xiàn)創(chuàng)建全文目錄的功能。

最后說一下全文索引的優(yōu)缺點(diǎn)和注意事項(xiàng):

(1)全文索引可對char、varchar、nchar、nvarchar、text、ntext、image、xml、varbinary 或 varbinary(max) 類型字段進(jìn)行檢索,是解決海量數(shù)據(jù)模糊查詢的好辦法。
(2)一個(gè)表只能建立一個(gè)全文索引(但可以對多個(gè)字段)。
(3)與like的比較 MSDN解釋

與全文搜索不同,LIKE Transact-SQL 謂詞僅對字符模式( char、varchar、nchar、nvarchar)有效。另外,不能使用 LIKE 謂詞來查詢格式化的二進(jìn)制數(shù)據(jù)。此外,對大量非結(jié)構(gòu)化的文本數(shù)據(jù)執(zhí)行 LIKE 查詢要比對相同數(shù)據(jù)執(zhí)行同樣的全文查詢慢得多。對數(shù)百萬行文本數(shù)據(jù)進(jìn)行的 LIKE 查詢可能需要幾分鐘的時(shí)間才能返回結(jié)果;而對于同樣的數(shù)據(jù),全文查詢只需要幾秒甚至更少的時(shí)間,具體取決于返回的行數(shù)及其大小。另一個(gè)考慮因素是 LIKE 僅對整個(gè)表執(zhí)行簡單模式掃描。相反,全文查詢可識別語言,它在索引和查詢時(shí)應(yīng)用特定的轉(zhuǎn)換,例如,篩選非索引字并進(jìn)行同義詞庫和變形擴(kuò)展。這些轉(zhuǎn)換可幫助全文查詢改進(jìn)其撤回以及結(jié)果的最終排名

最最后,講一下全文索引的用法:

SQL Server 2000和SQLSERVER2005提供的全文檢索語句主要有CONTAINS和FREETEXT。

(1)CONTAINS語句的功能是在表的所有列或指定列中搜索:一個(gè)字或短語;一個(gè)字或短語的前綴;與一個(gè)字相近的另一個(gè)字;一個(gè)字的派生字;一個(gè)重復(fù)出現(xiàn)的字。
(2)FREETEXT語句的功能是在一個(gè)表的所有列或指定列中搜索一個(gè)自由文本格式的字符串,并返回與該字符串匹配的數(shù)據(jù)行。所以,F(xiàn)REETEXT語句所執(zhí)行的功能又稱做自由式全文查詢。

T-SQL語句

復(fù)制代碼 代碼如下:


USE pratice
SELECT *  FROM  dbo.test WHERE CONTAINS(d,'基數(shù)行')

pratice是我的一個(gè)測試數(shù)據(jù)庫,d是test表的其中一個(gè)字段,以上T-SQL語句的意思是查找d字段里包含字符串"基數(shù)行"的記錄

SQLSERVER全文目錄全文索引的使用方法和區(qū)別講解

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 商南县| 彰武县| 清丰县| 婺源县| 普兰店市| 灵丘县| 阿拉尔市| 灵璧县| 博兴县| 万安县| 葵青区| 维西| 海安县| 建阳市| 七台河市| 辽阳县| 西乌| 秦安县| 桂东县| 阿尔山市| 临夏县| 东宁县| 和龙市| 中宁县| 崇义县| 确山县| 定西市| 兴宁市| 定日县| 中卫市| 大冶市| 治县。| 新安县| 德化县| 辽宁省| 安塞县| 馆陶县| 安义县| 孝昌县| 巧家县| 左贡县|