一、索引
1-一、索引的概述
咱們把一個表中的一列或者多列和列中元素所在表中記錄的物理地址組合成一個新的表。這個表的記錄大體爲列的內容和該列所在記錄的物理地址。
1-二、索引的優缺點
優勢:大大加快了對源表的執行速度,咱們對索引表的檢索就能夠實現對源表的檢索。到底快在哪裏?舉例說明:咱們經過T-SQL語句查詢源表中的一條記錄,在沒有索引表的時候,計算機首先把整個源表從外存加載到內存,而後再一一匹配,從外存加載到內存耗時是很是的大;在有索引的時候,計算機首先加載索引表,而後匹配,找到後,取出它的物理地址,此時,再從外存中加載大表中的該記錄,這種方法,人看的時候麻煩,但計算機可能就不那麼認爲(具體還要看源表記錄的長度和數量)
缺點:索引表須要佔物理空間;當對源表操做時,也要維護索引表,是維護的任務加劇了。
二、視圖
2-一、視圖的概述
視圖由一張表或多張表的列數據組成的一張虛擬表,所謂虛擬表,就是該總體表在硬盤上不存在,其實,咱們建立一個視圖,其實是建立了一個通過包裝了的Select語句,在這裏咱們稱爲A,建立視圖,就是咱們往硬盤存放了A,咱們調用該視圖的時候,系統就會自動執行一遍A,而後,咱們看見的就是一張表了。(這張表數據的改變時,基表變不變,那要看具體狀況了,能夠說明的是,咱們能夠經過虛擬表達到改變基表數據的目的)
2-二、視圖的優缺點
優勢:視圖能夠限制咱們對錶中一些數據的訪問,增長了數據的安全性;減小了重複寫入T-SQL語句。
缺點:複雜的視圖通常不能修改內容;能修改的視圖,也須要通過變化使該操做應用到基表中。
www.2cto.com
三、遊標
3-一、遊標的概述
數據庫管理系統爲了對數據的管理更加高效,採用的是整塊數據進行管理操做,這個管理方式對於數據庫管理系統來講是很是的好的,可是,這種管理方式對於應用程序來講很差,由於我應用程序對於操做管理的數據是不多的,並且針對性也強,根據應用程序的這些特色,咱們爲了使應用程序更加的高效,咱們建立了遊標,遊標就是爲了完成對數據集中的數據經行更小單位的操做,也就是對記錄集中的數據的操做是按一條一條記錄經行的,因此呢,遊標是由結果集(能夠是零條、一條或由相關的選擇語句檢索出的多條記錄)和結果集中指向特定記錄的遊標位置組成。遊標是由管理多數據到少數據,操做不肯定數據到肯定性數據,對數據頂對性弱到針對性強的一種產物。
3-二、遊標的優缺點
優勢:應用程序能夠應用遊標對數據集經行指定行的操做。
缺點:使用不當會使運行效率更低。
四、存儲過程
4-一、存儲過程的概述
存儲過程就是一個SQL語句集,固然,這個語句集能夠完成特定的功能,存儲過程創建後,就先會通過編譯,而後,存放在硬盤上。
4-二、存儲過程的優缺點
優勢:一次編譯,屢次執行,使用戶不用屢次的書寫相同的SQL語句了,同時這些SQL語句也不用一直先編譯在執行了,節省了時間。
缺點:簡單應用換能夠,複雜的時候應用,就是變的複雜。
五、觸發器
5-一、觸發器的概述
觸發器就是特殊的存儲過程,特殊在,觸發器不須要經過人爲(例:在程序中調用)的操做來啓動它,觸發器的啓動是由事件(刪除、更新等)的執行來自動啓動的。
5-二、觸發器的優缺點
優勢:是數據的安全性更強,例:經過觸發器能夠取消刪除數據的操做。
缺點:維護數據的時候變得有些複雜。