儲存過程及索引概述

2022-07-06 18:09:15 字數 1614 閱讀 4355

儲存過程(stored procedure)

可以包含邏輯判斷的sql語句集合。

是經過預編譯,存在於資料庫中。

通過呼叫指定儲存過程的名字(可有參,可無參)來執行。

優點:簡化了複雜的業務邏輯,根據需要可重複使用

遮蔽了底層細節,不暴露表資訊即可完成操作

降低網路的通訊量,多條語句可以封裝成乙個儲存過程來執行

設定訪問許可權來提高安全性

提高執行效率,因為它是預編譯以及儲存在資料庫中

缺點:可移植性差,相同的儲存過程並不能跨多個資料庫進行操作

大量使用儲存過程後,首先會使伺服器壓力增大,而且維護難度逐漸增加

儲存過程的語法:

--下面是在oracle資料庫下最基本的語法

--僅建立乙個名為testprocedure 的無參的儲存過程

--is也可以是as

--如果已經存在名為 testprocedure 的儲存過程,下面的語法會出現 名稱已被使用的錯誤

--解決辦法:

--第一句可以寫成 create or replace procedure testprocedure

--這樣會替換原有的儲存過程

--null表示任何可以正確執行的sql 語句,但至少一句

create procedure testprocedure

isbegin

null

end;

儲存過程的引數的分類:

inout

inout //

注意:  

//儲存過程之間可相互呼叫

//儲存過程一般修改後,立即生效。

索引概述:

1、索引的概念

索引就是為了提高資料的檢索速度。

資料庫的索引類似於書籍的索引。

在書籍中,索引允許使用者不必翻閱完整個書就能迅速地找到所需要的資訊。

在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,

而不必掃瞄整個資料庫.

2、索引的優點

1.建立唯一性索引,保證資料庫表中每一行資料的唯一性

2.大大加快資料的檢索速度,這也是建立索引的最主要的原因

3.減少磁碟io(向字典一樣可以直接定位)

3、索引的缺點

1.建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加

2.索引需要占用額外的物理空間

3.當對表中的資料進行增加、刪除和修改的時候,

索引也要動態的維護,降低了資料的維護速度

4、索引的分類

1.普通索引和唯一性索引

普通索引:create  index mycolumn_index on mytable (myclumn)

唯一性索引:保證在索引列中的全部資料是唯一的

create unique index mycolumn_index on mytable (myclumn)

2. 單個索引和復合索引

單個索引:對單個字段建立索引

復合索引:又叫組合索引,在索引建立語句中同時包含多個欄位名,

最多16個字段

create index name_index on userinfo(firstname,lastname)

3.順序索引,雜湊索引,位圖索引

儲存過程的概述

儲存過程 預編譯sql語句的集合 代替了傳統的逐條執行sql語句的方式 可包含查詢,插入,刪除,更新等操作的一系列sql語句 儲存在sql server中 通過名稱和引數執行 可帶引數,也可返回結果 可包含資料操縱語句,變數,邏輯控制語句 儲存過程的優點 1,執行速度快 因為儲存過程在建立時已經被編...

sql 索引 儲存過程

儲存過程 優點 1.由於應用程式隨著時間推移會不斷更改,增刪功能,t sql過程 會變得更複雜,storedprocedure為封裝此 提供了乙個替換位置。2.執行計畫 儲存過程在首次執行時將被編譯,這將產生乙個執行計畫 實際上是 microsoft sql server為在儲存過程中獲取由 t s...

索引與儲存過程

1 索引 1 概念 索引 是針對資料所建立的目錄 作用 可以加快查詢速度 負面影響 降低了增刪改的速度。2 案例 設有新聞表15列,10列上有索引,共500w行資料,如何快速匯入?1.把空表的索引全部刪除 2.匯入資料 3.資料匯入完畢後,集中建索引。3 索引的建立原則 1.不要過度索引 2.在wh...