mysql索引和正確使用方式

2022-08-31 18:39:12 字數 621 閱讀 1054

一、索引型別

b樹索引:大部分都是,因此b樹的特性限制了索引如何使用;必須看看索引的正確使用限制(含組合索引的限制)

hash索引:只有memory引擎支援

二、b樹索引的正確使用

select d from table where a = 「x」 and b= "y」 and c = "z」 :此時對a b c均能使用索引

select d from table where a = 「x」 and b >= "y" and c = "z" : 此時對a可以使用索引,對b也能使用索引,而c則不能使用索引。是因為如果聯合索引中某個字段使用了範圍索查詢,則後面的字段則不能再使用索引

聯合索引abc最多只能滿足a,ab, abc三種查詢,如果需要b、c單獨使用索引則需要另外建立索引。通過explain的key_len則可以看出使用了聯合索引的哪些部分。ac的查詢則只能使用聯合索引的a部分

b樹本身就是有序的,orderby的字段在where中有索引,結果將不再排序。詳解

另外,order by a desc, b asc  時不能使用索引,使用索引的話必須要求ab順序一致。即如果有此類需求,建議處理為a 和b 順序一致,比如b的值都取負。

mysql索引型別和方式 mysql索引型別和方式

索引 資料庫的索引就像一本書的目錄,能夠加快資料庫的查詢速度。mysql索引有四種primary index unique fulltext,其中primary index unique是一類,fulltext是一類。這四種都是單列索引,也就是他們都是作用於單個一列,所以也稱單列索引 但是所以乙個索...

如何理解並正確使用MySQL索引

1 概述 索引是儲存引擎用於快速查詢記錄的一種資料結構,通過合理的使用資料庫索引可以大大提高系統的訪問效能,接下來主要介紹在mysql資料庫中索引型別,以及如何建立出更加合理且高效的索引技巧。注 這裡主要針對的是innodb儲存引擎的b tree索引資料結構 2 索引的優點 1 大大減輕了伺服器需要...

SqlServer 正確使用索引

寫sql語句的時候很多時候會用到filter篩選掉一些記錄,sql對篩選條件簡稱 sarg search argument sarg 1 where amount 4000 and amount 6000 上面這句就是篩選條件 當然這裡不是說sqlserver的where子句,是說sqlserver...