建立索引語法
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...