MySQL索引操作命令詳解

2022-09-25 22:51:22 字數 1744 閱讀 2645

建立索引:

mysql建立索引的語法如下:

create [unique|fulltext|spatial] index index_name [using index_type] on table_name (index_col_name,...)

其中對應的語法變數資訊如下:

[unique|fulltext|spatial]:中括號中的三個關鍵字表示建立的索引型別,他們分別表示唯一索引、全文索引、空間索引三種不同的索引型別。如果我們不指定任何關鍵字,則預設為普通索引。

index_name:表示索zpiwoxooj引的名字,由使用者自行定義,以便以後對該索引進行修改管理操作。

index_type:表示索引的具體實現方式,在mysql中,有兩種不同形式的索引----btree索引和hash索引。在儲存引擎為myisam和innodb的表中只能使用btree,其預設值就是btree;在儲存引擎為memory或者heap的表中可以使用hash和btree兩種型別的索引,其預設值是hash。

index_col_name:表示需要建立索引的欄位名稱,我們還可以針對多個字段建立復合索引,只需要在多個欄位名稱之間以英文逗號隔開即可。

此外,對於char或varchar型別的字段,我們還可以只使用字段內容前面的一部分來建立索引,只需要在對應的字段後面加上形如(len程式設計客棧gth)的指令即可,表示只需要使用字段內容前面的length個字元來建立索引。

create index idx_user_username on user (username(6));

由於多數字段的前6個字元通常不同,所以此索引不會比使用欄位的全部內容建立的索引速度慢很多。另外,使用欄位的一部分建立索引可以使索引檔案大大減小,從而節省了大量的磁碟空間,有可能提高insert操作的速度。

必須注意的是:在mysql中,對已text和blog這種大資料型別的字段,必須給出字首長度(length)才能成功建立索引。

上述建立索引的語法還具有以下變體:

alter table table_name add [unique|fulltext|spatial] index index_name (index_col_name,...) [using index_type]

在mysql中,只有當表的儲存引擎為myisam,innodb和bdb型別時,你才能向具有null值的列或者資料型別為text或blob的列新增索引。

刪除索引:

在mysql中刪除索引的方法非常簡單,其完整語法如下:

alter table table_name drop index index_name;

修改索引:

在mysql中並沒有提供修改索引的直接指令,一般情況下,我們先刪除原索引,再根據需要建立乙個同名的索引,從而變相地實現修改索引的操作。

//先刪除索引

alter table table_name drop index index_name;

//建立同名的索引

create index index_name on table_name (index_col_name,...);

檢視索引:

在mysql中,要檢視某個資料庫表中的索引頁非常簡單,只需要使用以下兩個命令中的任意一種即可:

show index f程式設計客棧rom table_name [from db_name];

show index from [db_nzpiwoxoojame.]table_name;

本文標題: mysql索引操作命令詳解

本文位址: /shujuku/mysql/176212.html

MySQL聚集索引詳解 mysql 索引詳解

直接起飛 1.什麼是索引?索引是幫助mysql高效獲取資料的排好序的資料結構。2.索引的資料結構?為什麼選這種結構?假設我們現在這裡有一張表 以下情況都是innodb儲存引擎 idnumber 如果mysql沒有索引這種結構,那麼我們如果查詢number為51的這行記錄,那麼mysql就要從上往下掃...

MySQL聚集索引詳解 mysql索引詳解

資料結構分,有b tree索引 b tree 雜湊索引 r tree索引等。按資料塊的順序和索引節點的邏輯順序是否一致可以分為聚集索引和非聚集索引。聚集索引由於物理塊連續,在範圍掃瞄的時候可以減少磁頭尋道時間,因而比非聚集索引高效。幾種索引型別的選擇 primary 主鍵索引。unique 唯一索引...

mysql 索引定義 MySQL 索引詳解

普通索引 唯一索引和主索引 1.普通索引 普通索引 由關鍵字key或index定義的索引 的唯一任務是加快對資料的訪問速度。因此,應該只為那些最經常出現在查詢條件 where column 或排序條件 order by column 中的資料列建立索引。只要有可能,就應該選擇乙個資料最整齊 最緊湊的...