mysql資料庫索引案例 MYSQL 資料庫索引

2021-10-18 22:31:48 字數 2873 閱讀 4054

索引概述

在mysql中,索引由資料表中一列或多列組合而成,建立索引的目的是為了優化資料庫的查詢速度。其中,使用者建立的索引指向資料庫中具體資料所在位置。當使用者通過索引查詢資料庫中的資料時,不需要遍歷所有資料庫中的所有資料。這樣,大幅度提高了查詢效率。

mysql索引概述

1.索引是一種將資料庫中單列或者多列的值進行排序的結構。應用索引,可以大幅度提高查詢的速度。

2.使用者通過索引查詢資料,不但可以提高查詢速度,也可以降低伺服器的負載。

3.應用mysql資料庫時,並非使用者在查詢資料的時候,總需要應用索引來優化查詢。

4.整體來說,索引可以提高查詢的速度,但是會影響使用者運算元據庫的插入操作。

mysql索引分類

mysql的索引包括普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引等。

建立索引

建立索引是指在某個表中至少一列中建立索引,以便提高資料庫效能。其中,建立索引可以提高表的訪問速度。本節通過幾種不同的方式建立索引。其中包括在建立資料庫時建立索引、在已經建立的資料表中建立索引和修改資料表結構建立索引。

在建立資料表時建立索引

在建立資料表時可以直接建立索引,這種方式比較直接,且方便、易用。

基本語法結構如下:

create table table_name(

屬性名 資料型別[約束條件],

屬性名 資料型別[約束條件]

屬性名 資料型別

[unique | fulltext | spatial ] index }key

[別名]( 屬性名1 [(長度)] [asc | desc])

例子:普通索引

create table t_dept(

no int not null primary key,

name varchar(20) null,

*** varchar(2) null,

info varchar(20) null,

index index_no(no)

show index from info; 檢視索引

唯一索引

create table t_dept(

no int not null primary key,

name varchar(20) null,

*** varchar(2) null,

info varchar(20) null,

unique index index_no(no)

全文索引

create table t_dept(

no int not null primary key,

name varchar(20) null,

*** varchar(2) null,

info varchar(20) null,

fulltext index index_no(no);

多列索引

create table t_dept(

no int not null primary key,

name varchar(20) null,

*** varchar(2) null,

info varchar(20) null,

key index_no_name(no,name)

在已建立的資料表中建立索引

在mysql中,不但可以在使用者建立資料表時建立索引,使用者也可以直接在已經建立的表中,在已經存在的乙個或幾個字段建立索引。

其基本的命令結構如下:

create [unique | fulltext |spatial ] index index_name

on table_name(屬性 [(length)] [ asc | desc]);

例子:普通索引

create index index_name

on t_dept(name);

唯一索引

create unique index index_name

on t_dept(name);

全文索引

create fulltext index index_name

on t_dept(name);

多列索引

create index index_name_no

on t_dept(name,no)

修改資料表結構新增索引

修改已經存在表上的索引。可以通過alter table語句為資料表新增索引

基本結構如下:

alter table table_name add [ unique | fulltext |spatial ] index index_name(屬性名 [(length)] [asc | desc]);

例子:普通索引

alter table t_dept

add index index_name(name);

唯一索引

alter table t_dept

add unique index index_name(name);

全文索引

alter table t_dept

add fulltext index_name(name);

多列索引

alter table t_dept

add index index_name_no(name,no);

刪除索引

刪除索引

在mysql中,建立索引後,如果使用者不再需要該索引,則可以刪除指定表的索引。因為這些已經被建立且不常使用的索引,一方面可能會占用系統資源,另一方面也可能導致更新速度下降,這極大地影響了資料表的效能。所以,在使用者不需要該錶的索引時,可以手動刪除指定索引。其中刪除索引可以通過drop語句來實現。

基本的命令如下:

drop index index_name on table_name;

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...

資料庫mysql軟體安裝 資料庫軟體mysql安裝

2.解壓至欲安裝的目錄下 3.開啟cmd,進入軟體目錄下d qmdownload mysql 5.7.24 winx64 bin,執行mysqld 4.初始化使用者 cmd d qmdownload mysql 5.7.24 winx64 bin,執行mysqld initialize insecu...

mysql更新索引庫 Mysql資料庫索引增刪改查

一.索引的作用 一般的應用系統,讀寫比例在10 1左右,而且插入操作和一般的更新操作很少出現效能問題,遇到最多的,也是最容易出問題的,還是一些複雜的查詢操作,所以查詢語句的優化顯然是重中之重。在資料量和訪問量不大的情況下,mysql訪問是非常快的,是否加索引對訪問影響不大。但是當資料量和訪問量劇增的...