MySql索引種類以及使用注意事項

索引類型:

1.普通索引
最常使用的索引,
create index index_name on table_name(col_name(length))
2.唯一索引
和普通索引類似。索引列值唯一,和主鍵不同,允許有空值
create unique index index_name on table_name(col_name(length))
3.全文索引
僅適用於MyISAM的存儲引擎存儲的表,用於解決like查詢低效問題,但只是"xxx%"這樣的like查詢。
create fulltext index index_name on table_name(col_name(length))
4.組合索引
sql語句中經常會用到比較多的查詢條件,這就需要組合索引,例如select * from tb_stu where age=xxx and college=xxx; 如果將age和college創建組合索引(alter table tb_stu add index index_age_college(age,college)),實際相當於創建了age,age和college的組合索引這兩種索引

關於優化

索引大大提高了查詢速度,但是當進行增刪改操作時,也會因爲維護索引而降低他們的速度,而且在一些大表中建立不必要的索引也會使索引文件迅速膨脹
1.索引不包含null值列
你的索引列中有一行是null的話,查詢將不會查找到他,建議建表時該列會有默認值
2.使用段索引
如果你的一個字段長度很大,建議使用短索引,即在上述創建語句中使length有值,例如一個長255的varcher,索引長度定在10-20之間就可以了,短索引可以加快查詢速度和對索引文件的維護速度
3.使用全文索引優化like查詢
"xxx%"這樣的like查詢語句可以建立全文索引
4.不要再索引列上進行運算操作
這樣會導致全表掃描,索引將不會起到作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章