




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
任務6教務數據庫的索引設計
任務目標索引是SQLSERVER中的一種數據庫對象,在數據庫大量數據中,為迅速查找你需要的數據,或排序等需要,在原數據表基礎上可建立索引這種輔助文件。通過它可對數據表進行排序,迅速查找。合理地設計索引可以提高數據庫的性能。本章任務目標是學習SQLSERVER2005中索引設計的相關知識,并進行教務數據庫索引的建立、索引的查看、索引的修改及索引的刪除等操作。使學生能認識索引及其優缺點,根據需要合理地進行表的索引設計,能利用SQL語句或SQLServerManagementStudio進行索引的各種操作。返回目錄1學習引領為了提高查閱速度,我們并不是從書的第一頁開始順序查找,而是首先查看書的目錄索引,找到需要的這一章節在目錄中所列的頁碼,然后根據這一頁碼直接找到需要的章節。在數據庫中,為了從大量的數據中迅速找到需要的內容,也采用類似于書目錄這樣的索引技術,使得在執行數據查詢時不必掃描整個數據庫,就能迅速查到所需要的內容。在了解表的概念、表結構的基礎上,首先先要認識什么是索引,為什么要建立索引,索引的分類、優缺點,如何考慮建立索引。通過教務數據庫中的索引操作掌握索引創建、管理的語法。并完成書中的課堂實踐及習題來消化理解數據庫的索引知識。返回目錄2任務組成描述返回目錄3任務6-1教務數據庫索引創建子任務1認識索引子任務內容索引的概念和分類。唯一索引的概念。創建索引的優、缺點。索引的創建語法。子任務要求了解索引的概念、存儲方式、查詢的原理。能夠描述創建索引的優點和缺點。能學會如何考慮一個列是否建索引。掌握索引SQL創建語法。41.索引的概念
索引是數據庫隨機檢索的常用手段,索引是為了加速對表中數據行的檢索而創建的一種分散的存儲結構。SQLServer的索引記錄了表中的關鍵字,提供了指向表中行的指針。它是一種物理結構,能夠提供一種以一列或多列的值為基礎迅速查找表中行的能力。索引是針對一個表而建立的,它是由除存放表的數據頁面以外的索引頁面組成的。每個索引頁面中的行都含有邏輯指針(指向表中的行),在數據查詢時,系統先在索引中尋找匹配的索引值,再按照索引值的對應關系定位表中行的位置,從而加速檢索物理數據。索引可以創建在一列或多列的組合上,就像圖書館的書目可以有多種查詢方式(比如按作者、按出版社等)一樣,也可以在數據庫表的多個列上建立不同的索引。52.索引類型索引是數據庫對象中的一種。根據索引的順序與數據表的物理順序是否相同,可以把索引分成兩種類型:聚集索引與非聚集索引。3.唯一索引的概念要區別表中的兩行,確定行的唯一性,可采用唯一索引。唯一索引既可以采用聚集索引的結構,又可以采用非聚集索引的結構。唯一索引的特征:①
兩行不能具有相同的索引值。②
能夠進行實體完整性的實施。③
創建主鍵約束和唯一約束時系統會自動創建唯一索引。在實際程序開發編程中經常會使用唯一索引。如學生表、教師表等中,會有很多列的列值需要保證其唯一性,如:有學生學號、教師工號、課程編號、系代號等,可在這些列上創建唯一索引。但如果在某列創建時,在該列數據存在重復值,系統將會返回錯誤信息。本章首頁64.創建索引的優、缺點(1)創建索引的優點使用索引可以大大提高系統的性能,其具體表現在:創建唯一索引,保證數據庫表中每一行數據的唯一性。可以大大加快數據檢索速度,提高系統的性能。可以加速表與表之間的連接,這一點在實現數據的參照完整性方面有特別的意義。在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。(2)創建索引的缺點增加索引也有許多不利的方面:創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加。索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚集索引,那么需要的空間就會更大。當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。75.如何考慮一個列是否建索引(1)考慮建索引的列考慮建索引的列有如下選擇:①在經常需要搜索的列上,可以加快搜索的速度。②主鍵在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構。③連接中頻繁使用的列在經常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度。④在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的。⑤在經常需要排序的列上創建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間。在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。85.如何考慮一個列是否建索引(2)不考慮建索引的列沒有必要對表中的所有列都建立索引。建立索引需要時間和存儲開銷,在進行數據操作后,維護索引也要花費時間和空間。所以,能不能創建索引、在哪些列上創建索引,要看建立索引和維護索引的代價與因建立索引所節省的時間相比哪個更合算。比如不考慮在以下列上建立索引:①對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。②對于那些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如學生表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比例,即需要在表中搜索的數據行的比例很大。增加索引,并不能明顯加快檢索速度。③對于那些定義為text,image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。④當修改性能遠遠大于檢索性能時,不應該創建索引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因此,當修改性能遠遠大于檢索性能時,不應該創建索引。⑤數據行數很少的小表一般也沒有必要創建索引。96.索引創建語法利用T-SQL語句中的CREATEINDEX命令創建索引,也可以使用CREATETABLE或ALTERTABLE在創建或修改表時創建索引。
CREATEINDEX命令既可以創建一個可改變表的物理順序的聚集索引,也可以創建提高查詢性能的非聚集索引,其語法形式如下:CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX索引名ON{表名|視圖名}(列名[ASC|DESC][,...n])
[WITH[PAD_INDEX][[,]FILLFACTOR=填充因子百分比][[,]IGNORE_DUP_KEY]
[[,]DROP_EXISTING][[,]STATISTICS_NORECOMPUTE][[,]SORT_IN_TEMPDB]
][ON文件組]10在以上語法形式中: UNIQUE:指定創建的索引是唯一索引。如果不使用這個關鍵字,創建的索引就不是唯一索引。 CLUSTERED|NONCLUSTERED:指定被創建索引的類型。使用CLUSTERED創建的是聚集索引;使用NONCLUSTERED創建的是非聚集索引。這兩個關鍵字中只能選其中的一個。 索引名:為新創建的索引指定的名字,必須符合標識符規則。 表名:創建索引的基表的名字。視圖名:創建索引的視圖的名字。兩者選一。 列名:索引中包含的列的名字。 ASC|DESC:確定某個具體的索引列是升序還是降序排序。默認設置為ASC升序。 FILLFACTOR:稱為填充因子,它指定創建索引時,每個索引頁的數據占索引頁大小的百分比,它的值為1到100。對于那些頻繁進行大量數據插入或刪除的表在建索引時應該為將來生成的索引數據預留較大的空間,即將它的值設得較小,否則,索引頁會因數據的插入而很快填滿,并產生分頁,而分頁會大大增加系統的開銷。但如果設得過小,又會浪費大量的磁盤空間,降低查詢性能。 11
PAD_INDEX指定填充索引的內部節點的行數,至少應大于等于兩行。PAD_INDEX選項只有在FILLFACTOR選項指定后才起作用。因為PAD_INDEX使用與FILLFACTOR相同的百分比。缺省時,SQLServer確保每個索引頁至少有能容納一條最大索引行數據的空閑空間。如果FILLFACTOR指定的百分比不夠容納一行數據SQLServer會自動內部更改百分比。 IGNORE_DUP_KEY:此選項控制了當往包含于一個惟一約束中的列中插入重復數據時SQLServer所作的反應。當選擇此選項時,SQLServer返回一個錯誤信息,跳過此行數據的插入,繼續執行下面的插入數據的操作:當沒選擇此選項時,SQLServer不僅會返回一個錯誤信息,還會回滾(RollsBack)整個INSERT語句。 DROP_EXISTING:刪除先前存在的、與創建索引同名的聚集索引或非聚集索引。 STATISTICS_NORECOMPUTE:指定分布統計不自動更新。需要手動執行不帶NORECOMPUTE子句的UPDATESTATISTICS命令。 SORT_IN_TEMPDB:指定用于創建索引的分類排序結果將被存儲到Tempdb
數據庫中。如果Tempdb
數據庫和用戶數據庫位于不同的磁盤設備上,那么使用這一選項可以減少創建索引的時間,但它會增加創建索引所需的磁盤空間。 ON文件組:指定存放索引的文件組。12任務6-1教務數據庫索引創建子任務2創建學生表的唯一性聚集索引子任務內容聚集索引的概念。創建學生表的唯一性聚集索引。子任務要求了解聚集索引的概念,知道聚集索引的存儲與特點。能夠利用SQL語句創建聚集索引,注意一些參數的選擇。了解創建聚集索引的注意點。能夠分析錯誤并修改。131.聚集索引概念
數據表的物理順序和索引表的順序相同,它根據表中的一列或多列值的組合排列記錄。聚集索引確定表中數據的物理順序。聚集索引類似于電話簿。由于聚集索引規定數據在表中的物理存儲順序,因此一個表只能包含一個聚集索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。聚集索引對于那些經常要搜索范圍值的列特別有效。由于聚集索引的順序與數據行存放的物理順序相同,使用聚集索引找到包含第一個值的行后,便可以確保包含后續索引值的行在物理相鄰。避免每次查詢該列時都進行排序,從而節省成本。創建聚集索引的幾個注意事項:每張表只能有一個聚集索引聚集索引是表的物理順序,所以應先建聚集索引,后建非聚集索引定義聚集索引鍵時使用的列越少越好,主鍵是聚集索引的良好候選者頻繁更改的列不適合創建聚集索引142.創建學生表index_studentID索引在教務數據庫的Student表上創建一個名為index_studentID的唯一性聚集索引,索引關鍵字為studentid,升序,填充因子50%。(1)運行MicrosoftSQLServerManagementStudio(2)在對象資源管理器展開“數據庫”選擇“教務管理”數據庫,單擊快捷工具欄中的“新建查詢”按鈕,出現查詢窗口,如圖6-1所示。(3)在查詢窗口如圖6-2所示輸入以下SQL語句:USE教務管理GOCREATEUNIQUECLUSTEREDINDEXindex_studentIDONStudent(studentidASC)WITHFILLFACTOR=50(4)可先單擊執行旁邊的分析按鈕進行語法分析。然后單擊“執行”按鈕,創建成功則如圖6-3所示。如失敗則可能出現如圖6-4所示,分析可知是該表已存在聚集索引,可刪除后再重新執行即可。(5)在對象資源管理器依次展開“教務管理”數據庫節點、“Student”表節點、“索引”節點就可以看見節點下已有index_studentID聚集索引,如圖6-5所示。15任務6-1教務數據庫索引創建子任務3創建教師表的唯一性非聚集索引子任務內容非聚集索引的概念。創建教師表的唯一性非聚集索引。子任務要求了解非聚集索引的概念。利用SQL語句創建任務。了解創建非聚集索引的注意點。能夠分析錯誤并修改。161.非聚集索引(NonclusteredIndex)數據表的物理順序和索引表的順序不相同,數據存儲在一個地方,索引表存儲在另一個地方,索引帶有指針指向數據的存儲位置。索引是有序的,索引中的項目按索引鍵值的順序存儲。而表中的數據并不和索引相同,表中的信息按另一種順序存儲(可以由聚集索引規定)。對于非聚集索引而言,表的物理順序與索引順序不同,表的數據并不是按照索引列排序的。一個表可以既有聚集索引又有非聚集索引。在平常有些書籍包含多個目錄,對于非聚集索引也是如此。可以為在表中查找數據時常用的每個列都創建一個非聚集索引。創建非聚集索引的幾個注意事項:非聚集索引實際上是一個表的邏輯順序。創建索引時,缺省為非聚集索引。返回精確匹配的查詢的搜索條件(WHERE子句)中經常使用的列可考慮建非聚集索引。應在聯接和分組操作中使用的列上創建非聚集索引。172.創建教師表的index_teacher_phone索引在教務數據庫的teacher表上創建一個名為index_teacher_phone的唯一性非聚集索引,索引關鍵字為phone,降序,填充因子50%。執行步驟基本同上,SQL語句如下:USE教務管理GOCREATEUNIQUENONCLUSTEREDINDEXindex_teacher_phoneONteacher(phoneDESC)WITHFILLFACTOR=5018任務6-1教務數據庫索引創建子任務4創建教師班級課程表中的復合索引子任務內容認識復合索引。創建教師班級課程表的復合索引。子任務要求了解復合索引的實際需要。掌握創建復合索引的語法,能夠使用SQL語句創建復合索引。191.認識復合索引有些索引列需要由兩列或更多的列組成,我們把由兩列或更多的列組成的索引稱作“復合索引”。(1)復合索引的特點①
索引列為兩列或兩列以上。②
在檢索時會將多列作為一個整體進行。③
創建復合索引中多列的順序可以和表定義的列順序不同。(2)創建復合索引要注意以下幾個方面:①
在定義多列時,排列順序很重要,(列1,列2)上的索引不同于(列2,列1)上的索引。②
使用復合索引可以減少表上創建索引的數量。③
在條件查詢中為了優化使用復合索引,一般需要引用復合索引的第一列。④
在查詢的表中如果有幾列是需要頻繁訪問,可以考慮建復合索引來提高查詢性能。⑤
在復合索引中索引的列最多可使用16列組合。202.創建教師班級課程表的index_class_course_teacher索引在教務數據庫的教師班級課程表表上創建一個名為index_class_course_teacher的非聚集復合索引,索引關鍵字為classid、courseid、teacherid,升序,填充因子50%。執行步驟同上,SQL語句如下:USE教務管理GOCREATENONCLUSTEREDINDEXindex_class_course_teacherONtechercourseschedule(classidASC,courseidASC,teacheridASC)WITHFILLFACTOR=5021任務6-1教務數據庫索引創建子任務5使用SQLServerManagementStudio創建索引子任務內容使用SQLServerManagementStudio來創建索引。創建學生表的唯一性聚集索引。子任務要求掌握用SQLServerManagementStudio創建索引的方法和操作。能夠進行錯誤判斷并修改。22利用SQLServerManagementStudio創建index_studentID索引。(1)運行MicrosoftSQLServerManagementStudio。(2)在對象資源管理器依次展開“數據庫”、“教務管理”數據庫節點、“Student”表節點。(3)在“索引”節點上單擊右鍵,選擇“新建索引”項。如圖6-6所示。(4)打開“新建索引”對話框,輸入索引的名稱:index_studentID,指定索引類型為聚集索引,可能會出現如圖6-7所示“重新索引”提示對話框,這時可單擊“是”刪除現有的聚集索引創建新的聚集索引,也可單擊“否”保留原有索引。(5)如繼續創建,選擇“唯一”復選框,如圖6-8所示。(6)單擊“添加”按鈕,打開“選擇列”對話框,選擇studentid列為需要創建索引的列,如圖6-9所示。(7)單擊“選擇列”對話框上的“確定”按鈕回到“新建索引”對話框,在左上方的“選擇頁”內容中選擇“選項”,進行選項設置,將“填充因子”設為50%,所圖6-10所示。(8)也可設置“存儲”等項目,最后單擊“確定”按鈕創建索引成功,同樣可以如圖6-5中相似看到創建的索引。提示:在確定要建索引,可選擇最適合的索引類型,如:聚集索引還是非聚集索引。唯一索引還是非唯一索引。針對單列還是針對多列。索引中的列排序是升序還是降序。23任務6-1教務數據庫索引創建子任務6創建教師表的全文索引子任務內容認識全文索引的概念。創建教師表的全文索引。子任務要求掌握用SQLServerManagementStudio創建全文索引的操作方法。能夠使用創建的全文索引進行查詢。241.認識全文索引全文索引為在字符串數據中進行復雜的詞搜索提供有效支持。全文索引存儲關于重要詞和這些詞在特定列中的位置的信息。全文查詢利用這些信息,可快速搜索包含具體某個詞或一組詞的行。
全文索引包含在全文目錄中。每個數據庫可以包含一個或多個全文目錄。一個目錄不能屬于多個數據庫,而每個目錄可以包含一個或多個表的全文索引。一個表只能有一個全文索引,因此每個有全文索引的表只屬于一個全文目錄。
全文目錄和索引不存儲在它們所屬的數據庫中。目錄和索引由
Microsoft搜索服務分開管理。
全文索引必須在基表上定義,而不能在視圖、系統表或臨時表上定義。
全文索引和普通索引的區別如下:
表6-1全文索引和普通索引的區別普通SQL索引全文索引存儲時受定義它們所在的數據庫的控制。存儲在文件系統中,但通過數據庫管理。每個表允許有若干個普通索引。每個表只允許有一個全文索引。當對作為其基礎的數據進行插入、更新或刪除時,它們自動更新。將數據添加到全文索引稱為填充,全文索引可通過調度或特定請求來請求,也可以在添加新數據時自動發生。不分組。在同一個數據庫內分組為一個或多個全文目錄。使用SQLServerManagementStudio、向導或Transact-SQL語句創建和除去。使用SQLServerManagementStudio、向導或存儲過程創建、管理和除去。252.用SQLServerManagementStudio向導創建教師表全文索引(1)啟動SQLServerManagementStudio,在“對象資源管理器”中展開“數據庫”以及下面的“教務管理”數據庫。(2)再展開“教務管理”下的“表”,在“teacher”表上單擊右鍵。出現如圖6-11所示。(3)如右鍵彈出工菜單中“全文索引”選項為不可用。則可以先單擊圖6-11的快捷菜單上“新建查詢”,如圖6-12所示,在出現的查詢窗口中輸入SQL命令:USE教務管理goEXECsp_fulltext_database'enable'然后單擊工具欄上的“!執行”按鈕,為“教務管理”數據庫啟用全文索引。(4)當圖6-11彈出菜單中的“全文索引”可選用時,如圖6-13所示選擇下級的“定義全文索引”。(5)打開“全文索引向導”歡迎對話框如圖6-14所示。單擊“下一步”按鈕。262.用SQLServerManagementStudio向導創建教師表全文索引(7)打開“選擇表列”對話框如圖6-16所示,選擇需要創建全文索引的列,單擊“下一步”按鈕。(8)打開“選擇更改跟蹤”對話框如圖6-17所示,根據提示選擇跟蹤方式(這里選“自動”),單擊“下一步”按鈕。(9)打開“選擇目錄”對話框如圖6-18所示,在“名稱”中輸入全文索引目錄名fulltextindex_teacher并指定目錄位置(可用默認),單擊“下一步”按鈕。(10)打開“定義填充計劃”對話框如圖6-19所示,如需要可進行填充計劃設置,這里單擊“下一步”按鈕。(11)打開“全文索引向導說明”對話框如圖6-20所示,查看信息有無問題,如有可按“上一步”退回進行修改,否則單擊“完成”按鈕,開始創建全文索引。(12)出現“全文索引向導進度”對話框如圖6-21所示,創建成功后單擊“關閉”按鈕退出。提示:也可用SQL語句來創建全文索引。273.用教師表全文索引查找姓“潘”和姓“李”的教師信息
如圖6-22所示在查詢窗口中輸入查詢命令,單擊“!執行”按鈕,結果在右下方顯示出來。4.全文索引的啟用、禁用和刪除等操作可在如圖6-13中的彈出菜單中選擇不同的命令進行操作即可。28課堂實踐1在major表的majorid列上創建唯一性聚集索引index_majorid。在class表的classroom列上創建唯一性非聚集索引index_classroom。在學生表的studentname列上創建非聚集索引index_studentname。在教師表的profession列和teachername列上創建復合非聚集索引index_profession_teachername。創建學生表的全文索引并進行查詢(可上網查找采用SQL語句進行創建全文索引的相關資料,用SQL語句進行操作)。根據教務管理的查詢需要自行設計并創建3-5個索引。認真記錄各題操作后的結果情況。29任務6-2教務數據庫索引管理子任務1用T-SQL語句查看、更名、刪除索引子任務內容用T-SQL語句查看教師表索引。用T-SQL語句更名教師表索引。用T-SQL語句刪除教師表索引子任務要求了解用T-SQL管理索引的系統存儲過程及使用的命令格式。能夠用系統存儲過程進行索引各種管理操作。注:具體操作步驟基本同上,這里列出SQL語句。301.查看教務數據庫中表teacher的索引信息(1)可以用sp_helpindex系統存儲過程查看教師表的索引。USE教務管理GOsp_helpindexteacher結果窗口如圖6-23所示。圖6-23
用sp_helpindex查看索引
311.查看教務數據庫中表teacher的索引信息(2)也可以用sp_help系統存儲過程查看教師表的索引。USE教務管理GOsp_helpteacher結果窗口如圖6-24所示。圖6-24
用sp_help查看索引322.用系統存儲過程sp_rename將教師表的索引index_profession_teachername重新命名為index_p_tn在創建索引后,重新命名表的索引可以使用sp_rename系統存儲過程來操作。要重命名的索引一般要以“表名.索引名”的形式給出。SQL語句如下:USE教務管理GOsp_rename
‘teacher.index_profession_teachername‘,‘index_p_tn'如圖6-25
所示可以看到索引名已經改變。圖6-25
索引的重新命名333.用DROP語句將教師表的索引“index_p_tn”刪除如果某個索引已經沒有什么用了,可以用DROP語句將其刪除。同樣被刪除的索引也要用“表名.索引名”的形式給出。DROP語句的語法:DROPINDEX表名.索引名[,...n],SQL語句如下:USE教務管理GODROPINDEXteacher.index_p_tn
注意:刪除索引時要注意,如果索引是使用CREATETABLE語句創建,只能用ALTERTABLE語句來刪除索引。34任務6-2教務數據庫索引管理子任務2用SQLServerManagementStudio查看、更名、刪除索引子任務內容用SQLServerManagementStudio查看學生表的索引。用SQLServerManagementStudio重命名學生表的索引。用SQLServerManagementStudio刪除學生表的索引。子任務要求能用SQLServerManagementStudio索引的查看、重命名、刪除管理。351.用SQLServerManagementStudio查看教務數據庫中表student的索引信息(1)運行MicrosoftSQLServerManagementStudio。(2)在對象資源管理器依次展開“數據庫”、“教務管理”數據庫節點、“Student”表節點、“索引”節點。(3)在索引“index_studentID”節點上單擊右鍵,選擇“屬性”,如圖6-26所示。(4)彈出索引屬性對話框如圖6-27所示,單擊“選擇頁”下的選項,可以查看相應的內容。也可對一些屬性進行修改,確定可保存退出。362.用SQLServerManagementStudio重命名教務數據庫中表student的索引信息(1)運行MicrosoftSQLServerManagementStudio。(2)在對象資源管理器依次展開“數據庫”、“教務管理”數據庫節點、“Student”表節點、“索引”節點。(3)在某個具體的索引節點上單擊右鍵,如圖6-26類似,選擇“重命名”后直接在名字上編輯即可。373.用SQLServerManagementStudio刪除教務數據庫中表student的索引信息(1)運行MicrosoftSQLServerManagementStudio。(2)在對象資源管理器依次展開“數據庫”、“教務管理”數據庫節點、“Student”表節點、“索引”節點。(3)在“索引”節點上單擊右鍵,如圖6-26類似,選擇“刪除”。(4)打開“刪除對象”對話框,單擊“刪除”按鈕即可刪除指定索引。38任務6-2教務數據庫索引管理子任務3教務數據表索引維護子任務內容顯示表student的數據和索引的碎片信息。重建教師表中的index_teacher_phone索引。更新表student索引的分布統計頁。子任務要求能用SQLServerManagementStudio進行索引的定期維護。391.顯示表student的數據和索引的碎片信息當在表上頻繁進行插入、更新和刪除操作時,表中也就不可避免地會產生存儲碎片,有時頁的順序也變得非常混亂,結果就會引起整個查詢性能下降,這時可以使用DBCCSHOWCONTIG命令來掃描指定表的碎片并確定該表或索引頁是否嚴重不連續。(1)DBCCSHOWCONTIG命令的語法如下:DBCCSHOWCONTIG[({'表名'|表id|'視圖名'|視圖id}[,'索引名'|索引id])][WITH{[,[ALL_INDEXES]][,[TABLERESULTS]][,[FAST]][,[ALL_LEVELS]][NO_INFOMSGS]}]
40參數說明:'表名'|表id|'視圖名'|視圖id:是要檢查碎片信息的表或視圖。如果未指定,則檢查當前數據庫中的所有表和索引視圖。若要獲得表或視圖ID,請使用OBJECT_ID函數。'索引名'|索引id:是要檢查其碎片信息的索引。如果未指定,則該語句將處理指定表或視圖的基本索引。若要獲取索引ID,請使用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 素質教育學習心得體會模版
- 鋼結構課程設計心得體會模版
- 保潔工作個人心得體會模版
- 三晉卓越聯盟·2024-2025學年高三5月質量檢測卷(25-X-635C)數學(B)
- 浙江省六校(杭州二中 溫州中學 金華一中 紹興一中 舟山中學 衢州二中)聯盟2025屆高三5月模擬預測卷語文試卷+答案
- 小家電安規基礎知識講義
- 初中學生家長教育孩子心得體會模版
- 凝血功能異常的臨床護理
- 心梗護理方案
- 高血壓活動總結模版
- 2025屆云南省楚雄市重點名校初三一模物理試題(海淀一模)試卷含解析
- 記敘文閱讀理解解析(課件)-部編版語文五年級下冊閱讀理解
- 2025年行政執法證資格考試必刷經典題庫及答案(共130題)
- 超星爾雅學習通《紅色經典影片與近現代中國發展(首都師范大學)》2025章節測試附答案
- 裝修陪跑合同協議書8篇
- 土地測量服務投標方案(技術方案)
- 服務流程操作說明手冊
- 七下18《井崗翠竹》公開課一等獎創新教案
- 公司增資擴股方案設計報告
- 氣管套管滑脫的處理流程
- 基于數字孿生的SW水庫數字化平臺建設研究
評論
0/150
提交評論