mysql 索引的建立

2021-07-10 01:13:13 字數 1200 閱讀 4252

建立索引語法

create  [unique|fulltext|spatial]  index  index_name

[using index_type]

on  table_name  (index_col_nam,.....)

index_col_name:

col_name  [(length)]  [asc|desc]

mysql的索引型別有兩種:btree和hash,具體和表的模式有關

目前mysql不支援函式索引,只能對某一列的前一部分(length)進行索引,例:

create  index   ind_test  on  table1(name(5)) ;

對於char和varchar ,使用字首索引將大大節省空間。

mysql如何使用索引

使用索引是where後需要使用索引關鍵字,如果是多列索引,那麼只有查詢條件使用

了多列關鍵字最左邊的字首時,才可以使用索引。

以下情況,不會使用索引:

1.如果mysql估計使用索引會比掃瞄全表更慢時

2.如果使用heap表並且where條件中不用=索引列,其他》,<,>=,<=均不使用索引列

3.如果不是索引列的第一部分

4.如果使用like是以%開始的

5.對where後邊條件為字串的一定要加引號,字串為數字,mysql會自動轉化字串,

但是不使用索引。

檢視索引使用情況

檢視handler_read_key的值,如果這個值比較高,代表這個索引正在工作。這個值代表了乙個

行被索引值讀的次數,很低的話代表增加索引所造成的效能改善不高。

handler_read_rnd_next的值越高,則查詢效率越低,則說明應該建立索引補救,這個值的含義是

在資料檔案中讀下一行的請求數。如果你正在進行大量的表掃瞄,則該值越高 ,通常說明索引建立的

不正確或者說沒有利用索引。

使用:show  status  like  "handler_read%"

檢視某個表的索引

show index from table_nam ;

(索引)建立MySQL索引

建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...

c mysql建立索引 MySQL 建立索引

1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...

MySQL索引的建立

索引是建立在表上的,是對資料庫表中一列或者多列的值進行排序的一種結構。索引可以提高查詢速度 索引有兩種儲存型別 b型樹 btree 索引 和 雜湊 hsah 索引 1 普通索引 2 唯一性索引 設定唯一索引時,限制該索引的值必須是唯一的 3 全文索引 全文索引只能在 char varchar或者te...