索引與儲存過程

2021-08-30 17:57:05 字數 2235 閱讀 9380

索引

1).概念

索引:是針對資料所建立的目錄

作用:可以加快查詢速度

負面影響:降低了增刪改的速度。

2).案例

設有新聞表15列,10列上有索引,共500w行資料,如何快速匯入?

1.把空表的索引全部刪除

2.匯入資料

3.資料匯入完畢後,集中建索引。

3).索引的建立原則:

1.不要過度索引

2.在where條件最頻繁的列上加

3.盡量索引雜湊值,過於集中的值加索引意義不大。

4).索引的型別

普通索引:index僅僅是加快查詢速度。

唯一索引:unique index 行上的值不能重複

主鍵索引:primary key 不能重複

主鍵必唯一,但是唯一的索引不一定是主鍵。

一張表上,只能有乙個主鍵,但是可以用乙個或多個唯一索引

全文索引:fulltext index

5).檢視索引

show index from 表名

6).建立索引

alter table 表名 add index/unique/fulltext[索引名](列名)

alter table 表名 add primary key (列名) //不要加索引名,因為主鍵只有乙個

id int primary key auto_increment 建立乙個遞增的主鍵id;

7).刪除索引

刪除非主鍵索引:alter table 表名 drop index 索引名;

刪除主鍵:alter table 表名 drop primary key

2 全文索引

1).用法

match(全文索引名)against('keyword');

切記 只有》=3行的資料進行搜尋才會有結果!

以前在myisam資料庫引擎中支援全文本搜尋,但是現在5.5版本的innodb也開始支援了 

create table 列名(     

)engine = myisam;

2).關於全文索引的停止詞

全文索引不針對非常頻繁的詞做索引,

如this,is,you,my等等

全文索引:在mysql的預設情況下,對於中文意義不大。

因為英文有空格,標點符號來拆成單詞,進而對單詞進行索引,

而對於中文,沒有空格來隔開單詞,mysql無法識別每個中文詞。

3 儲存過程

1).概念

類似於函式,就是把一段**封裝起來,當要執行這一段**的時候,可以通過該儲存過程來實現

在封裝的語句體裡面,可以用if/else,case,while等控制結構,可以進行sql程式設計

2).檢視現有的儲存過程

show procedure status

3).刪除儲存過程

drop procedure 儲存過程的名字

4).呼叫儲存過程

call 儲存過程名字();

-->第1個儲存過程,體會「封裝sql」

create procedure p1()

begin

select * from g;

end$

-->第2個儲存過程,體會「引數」

create procedure p1(n int)

begin

select * from g where num > n;

end$

-->第3個儲存過程,體會「控制結構」

create procedure p1(n int,j char(1))

begin

if j = 'h' then 

select * from g where num > n;

else

select * from g where num < n;

end if;

end$

-->計算1->n的和

create procedure p4(n smallint)

begin

declare i int;

declare s int; 

set i = 1;

set s = 0;

while i <= n do

set s = s + i;

set i = i + 1;

end while;

select s;

end$

-->在mysql中,儲存過程和函式的區別:

乙個是名稱不同,

索引與儲存過程

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

sql 索引 儲存過程

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

儲存過程及索引概述

儲存過程 stored procedure 可以包含邏輯判斷的sql語句集合。是經過預編譯,存在於資料庫中。通過呼叫指定儲存過程的名字 可有參,可無參 來執行。優點 簡化了複雜的業務邏輯,根據需要可重複使用 遮蔽了底層細節,不暴露表資訊即可完成操作 降低網路的通訊量,多條語句可以封裝成乙個儲存過程來...