1. 程式人生 > >一個完整的SQL SERVER資料庫全文索引的示例

一個完整的SQL SERVER資料庫全文索引的示例


首先,介紹利用系統儲存過程建立全文索引的具體步驟:

1) 啟動資料庫的全文處理功能(sp_fulltext_database)
2) 建立全文目錄(sp_fulltext_catalog)
3) 在全文目錄中註冊需要全文索引的表(sp_fulltext_table)
4) 指出表中需要全文索引的列名(sp_fulltext_column)
5) 為表建立全文索引(sp_fulltext_table)
6) 填充全文目錄(sp_fulltext_catalog)


---------********示例********-------------
以對pubs資料庫的title和notes列建立全文索引,之後使用索引查詢title列或notes列中包含有datebase 或computer字串的圖書名稱:

在這之前,需要安裝Microsoft Search服務,啟動SQL server全文搜尋服務


user pubs --開啟資料庫
go
--檢查資料庫pubs是否支援全文索引,如果不支援
--則使用sp_fulltext_database 開啟該功能
if(select databaseproperty('pubs','isfulltextenabled'))=0
execute sp_fulltext_database 'enable'

--建立全文目錄FT_PUBS
execute sp_fulltext_catalog 'FT_pubs','create'

--為title表建立全文索引資料元
execute sp_fulltext_table 'title','create','FT_pubs','UPKCL_titleidind'

--設定全文索引列名
execute sp_fulltext_column 'title','title','add'
execute sp_fulltext_column 'title','notes','add'

--建立全文索引
--activate,是啟用表的全文檢索能力,也就是在全文目錄中註冊該表
execute sp_fulltext_table 'title','activate'

--填充全文索引目錄
execute sp_fulltext_catalog 'FT_pubs','start_full'
go

--檢查全文目錄填充情況
While fulltextcatalogproperty('FT_pubs','populateStatus')<>0
begin

--如果全文目錄正處於填充狀態,則等待30秒後再檢測一次
waitfor delay '0:0:30'
end

--全文目錄填充完成後,即可使用全文目錄檢索

select title
form
where CONTAINS(title,'database')
or CONTAINS(title,'computer')
or CONTAINS(notes,'database')
or CONTAINS(notes,'database')



'--------------以下介紹一下全文操作類的系統儲存過程
過程名稱:sp_fulltext_service
執行許可權:serveradmin或系統管理員
作用:設定全文搜尋屬性


過程名稱:sp_fulltext_catalog
執行許可權:db_owner及更高角色成員
作用:建立和刪除一個全文目錄,啟動或停止一個全文目錄的索引操作


過程名稱:sp_fulltext_database
執行許可權:db_owner角色成員
作用:初始化全文索引或刪除資料庫中所有全文目錄


過程名稱:sp_fulltext_table
執行許可權:db_ddladnmin或db_owner角色成員
作用:將一個表標識為全文索引表或非全文索引表


過程名稱:sp_fulltext_column
執行許可權:db_ddladnmin角色成員
作用:指出一個全文索引表中的那些列假如或退出全文索引


///*******
作者:jimmy
oicq
: 11689643
email:[email protected]
*********/// 

相關推薦

一個完整SQL SERVER資料庫全文索引示例

首先,介紹利用系統儲存過程建立全文索引的具體步驟:1) 啟動資料庫的全文處理功能(sp_fulltext_database)2) 建立全文目錄(sp_fulltext_catalog)3) 在全文目錄中註冊需要全文索引的表(sp_fulltext_table)4) 指出表中需

SQL Server 使用全文索引進行頁面搜尋

建立全文索引 啟動服務  在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服務用本地使用者啟動。 建立全文目錄  開啟需要建立全文目錄的資料庫-儲存-全文目錄-右鍵新建全文目錄 用語句建立全文目錄  CREA

一個雲端充值的Sql Server存儲過程示例

雲端充值 存儲過程 一個雲端充值的Sql Server存儲過程示例 一、充值相關的表: 1、充值要變更tb_Customer表 LeftMoney ,當前余額 , 需要加上充值額DepositSum

SQL Server資料庫開發(4.索引和檢視)

一、索引 定義:是資料表中資料和相應儲存位置的列表。 作用:可以提高在表或檢視中查詢資料的速度。 1.分類:聚集索引,非聚集索引 聚集索引:指表中資料行的物理儲存順序與索引順序完全相同。 非聚集索引:不該表表中資料行的物理儲存位置,資料與索引分開儲存,通過索引指向的地址與表中的資

SQL Server資料庫優化:如何設計索引才能提高資料查詢效能?

當你發現隨著系統升級,版本迭代,使用者不斷增加,你的系統逐漸變慢的時候,就要考慮一下是不是需要對資料庫進行優化了(當然,效能瓶頸不一定在資料庫上),通常來說,優化資料庫的手段,我們最先想到的就是索引。 索引的目的是為了讓查詢更快。 為了保證你建立的索

如何終止SQL Server中的使用者程序(終止某一個使用者訪問sql server資料庫

  在很多情況下,往往會要求資料庫管理員終止SQL Server中的使用者程序,例如在停止某個資料庫的運作時,或者還原資料庫之前,或者長時間執行活動事務等情況下。資料庫管理員通常會使用SQL Server中提供的“KILL”命令來完成任務。   但是,SQL Server提供的“KILL”命令靈活性不夠,

一個通用的資料庫訪問類(sql server資料庫)

一個通用的訪問sql server資料庫的訪問類。它用到了微軟企業開發庫的元件Microsoft.Practices.EnterpriseLibrary.Data.dll。這個元件可以從網上下。 下面是詳細的程式碼。我已經加了註釋。 using System; us

SQL Server 資料庫索引

一、什麼是索引 減少磁碟I/O和邏輯讀次數的最佳方法之一就是使用【索引】 索引允許SQL Server在表中查詢資料而不需要掃描整個表。 1.1、索引的好處: 當表沒有聚集索引時,成為【堆或堆表】 【堆】是一堆未加工的資料,以行識別符號作為指向儲存位置的指標。表資料沒有順序

索引碎片、填充因子 [據此優化金蝶 EAS 7.5 SQL SERVER 資料庫]

在SQL Server中,儲存資料的最小單位是頁,每一頁所能容納的資料為8060位元組.而頁的組織方式是通過B樹結構(表上沒有聚集索引則為堆結構,不在本文討論之列)如下圖:   在聚集索引B樹中,只有葉子節點實際儲存資料,而其他根節點和中間節點僅僅用於存放查詢葉子

詳解SQL Server資料庫索引

 一、索引的概念 索引就是加快檢索表中資料的方法。資料庫的索引類似於書籍的索引。在書籍中,索引允許使用者不必翻閱完整個書就能迅速地找到所需要的資訊。在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,而不必掃描整個資料庫。 二、索引的特點 1.索引可以加快資料庫的檢索

php連線sql server資料庫(sqlsrv)完整解決方案

平生最煩的就是交接別人亂寫的專案 一次性交接四五個半成熟專案我也是真心頭大 最近老闆讓我交接了一個專案與工行e支付做對接,由於連線測試app頻頻出現問題,並且溝通成本比較大。甲方爸爸一怒之下要求直接上正式環境,於是出現了下面一系列心酸史 環境:window

sql server 資料庫優化--顯示執行計劃 你真的知道索引使用???

首先在PRID欄位上建立非聚集索引。 CREATE UNIQUE NONCLUSTERED INDEX UNC_PRID ON PerformanceIssue (PRID) GO 執行下面語句並檢視執行計劃的結果。 Select PRID, PRCode, PRDesc From Perform

SQL SERVER查看索引使用情況

use can png log table schema ats _id sca SELECT DISTINCT DB_NAME() AS N‘db_name‘ , E.name AS N‘schema_name‘ , O

SQL Server 非聚集索引的覆蓋,連接,交叉和過濾 <第二篇>

相對 col 超過 引用 保持 書簽 基本 nbsp 當我   在SQL Server中,非聚集索引其實可以看做是一個含有聚集索引的表,但相對實際的表來說,非聚集索引中所存儲的表的列數要少得多,一般就是索引列,聚集鍵(或RID)。非聚集索引僅僅包含源表中的非聚集索引的列和指

SQL Server 創建索引的 5 種方法

log htm bool 是我 大量 還在 serve src with 引自https://www.cnblogs.com/JiangLe/p/4007091.html 前期準備: create table Employee (

SQL SERVER全面優化-------索引有多重要?

link 發現 main hash join 不能 舉例 最優 double 無法 想了好久索引的重要性應該怎麽寫?講原理結構?我估計大部分人不願意看,也不願意花那麽多時間仔細研究。光寫應用?感覺不明白原理一樣不會用。舉例說明?情況太多也寫不全....到底該怎麽寫呢?   

Sql server資料庫連線Oracle庫的步驟

本地使用環境 作業系統: win10 64  ,SQL Server 2012 ,Oracle  Server 11g 第一步:安裝好oracle客戶端,並配置好TNS資訊 ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = T

SQL Server資料庫基礎

建庫建表: if DB_id('TicketManager ')is not null --判斷資料庫是否已經存在 drop database TicketManager --移除已經存在的資料庫 go create database TicketManager --新建資料庫 on (

SQL Server資料庫mdf檔案中了勒索病毒.sicck。副檔名變為sicck

SQL Server資料庫mdf檔案中了勒索病毒sicck。副檔名變為sicck SQL,資料庫,勒索病毒,mdf檔案中毒,sicck 副檔名如下: [[email protected]]***.mdf.sicck [[email protected]]***.ldf.sicck

Sql Server資料庫資料恢復成功案例

故障描述: 5塊2T硬碟組建RAID5,劃分LUN供windows伺服器使用。在windows伺服器內裝有Sql Server2008資料庫。儲存空間內共有三個邏輯分割槽,大小分別為500G、800G、2.3T。資料庫檔案丟失,主要涉及五個資料庫,表個數約為6000個左右。丟失原因未知,且不能確