MySQL資料庫的索引

2021-10-01 23:16:58 字數 3811 閱讀 7787

刪除索引

經常被查詢的字段,即在where子句**現的字段。

在分組的字段,即在group by子句**現的字段。

存在依賴關係的子表與父表之間的聯合查詢,即主鍵與外來鍵的字段。

設定唯一完整性約束的字段。

行數很多的表記錄一般超過300行適合建立索引。

在查詢中很少被使用的字段。

擁有許多重複值的字段。

行數不多的表記錄。

在建立表時建立普通索引

基本語法:

create

table table_name(

屬性名 資料型別,

.....

. 屬性名 資料型別,

index

|key

[索引名]

(屬性名1

[(長度)][

asc|

desc])

);

index與key引數都用來指定欄位為索引,asc用來指定公升序排序,desc用來指定降序排序。mysql所支援的儲存引擎對每個表至少支援16個索引,總索引的長度至少為256個位元組。例:建立t_dept表,並在deptno上建立普通索引,建立好之後我們可以通過show create table t_dept來檢視:

在現有表上建立索引

基本語法:

create

index 索引名

on 表名(屬性名 [

(長度)][

asc|

desc])

;

例:在現有t_dept表的dname上建立普通索引:

通過修改表alter來建立索引

基本語法:

alter

table table_name

addindex

|key 索引名 (屬性名 [

(長度)][

asc|

desc])

;

例:在現有t_dept表的loc上建立普通索引:

建立表時建立唯一索引

基本語法

create

table table_name(

屬性名 資料型別,

.....

. 屬性名 資料型別,

unique

index

|key

[索引名]

(屬性名1

[(長度)][

asc|

desc])

);

在現有表上建立索引

基本語法:

create

unique

index 索引名

on 表名(屬性名 [

(長度)][

asc|

desc])

;

通過修改表alter來建立索引

基本語法:

alter

table table_name

addunique

index

|key 索引名 (屬性名 [

(長度)][

asc|

desc])

;

不再舉例了基本上與建立普通索引一樣。

建立表時建立唯一索引

基本語法

create

table table_name(

屬性名 資料型別,

.....

. 屬性名 資料型別,

fulltext index

|key

[索引名]

(屬性名1

[(長度)][

asc|

desc])

)engine

=myisam;

在現有表上建立索引

基本語法:

create fulltext index 索引名

on 表名(屬性名 [

(長度)][

asc|

desc])

;

例:為t_dept表中的loc建立全文索引:

通過修改表alter來建立索引

基本語法:

alter

table table_name

add fulltext index

|key 索引名 (屬性名 [

(長度)][

asc|

desc])

;

建立表時建立唯一索引

基本語法

create

table table_name(

屬性名 資料型別,

.....

. 屬性名 資料型別,

index

|key

[索引名]

(屬性名1

[(長度)][

asc|

desc],

....

..屬性名n [

(長度)][

asc|

desc])

);

. 在現有表上建立索引

基本語法:

create

index 索引名

on 表名(屬性名1

[(長度)][

asc|

desc].

....

. 屬性名n [

(長度)][

asc|

desc])

);

通過修改表alter來建立索引

基本語法:

alter

table table_name

addindex

|key 索引名 (屬性名1

[(長度)][

asc|

desc].

....

. 屬性名n [

(長度)][

asc|

desc])

);

例:為t_dept表的loc與dname建立多列索引

基本語法:

drop

index index_name

on table_name;

例:刪除表中index_dname_loc索引:

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

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

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

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

Mysql資料庫的索引

今天看了下mysql資料庫的索引,基本的建立語句就不在贅述了,本文主要寫一些索引調優方面的見解。mysql資料庫的索引是與具體的儲存引擎相關的,想innodb以b tree索引為主,memory則以雜湊索引為主。針對innodb的b tree索引 1 多鍵索引時,要注意鍵的順序,一般來說鍵在越級時,...