mysql(二)关于索引的细节

在mysql中,我们一般都是使用innodb引擎。

关于mysql的索引,有些细节我们必须了解,在此就不说mysql的索引建立方式以及规则了,有兴趣的可以搜索mysql引擎,符合引擎的知识,我们在此要说的是mysql索引的一些细节知识。

我们都知道符合索引前导列规则,其实我们在查询中,mysql会自动为我们进行索引优化,即使你的sql,where字句中不是按照前导列的规则写的,mysql也会自动为你重新排序,下面我们看一个例子:

我们表上有一个复合索引:mysql(二)关于索引的细节

store_id,second_category.

下面看我们sql的查询情况mysql(二)关于索引的细节

在这个sql中我们按照前导列的规则去写,其执行用到了索引。

下面我们把两个where子句中两个字段查询顺序反过来:mysql(二)关于索引的细节

其还是使用了索引,是因为innodb在我们查询的时候根据我们用到的情况,会帮我们sql优化,从而匹配索引。

这是一个细节。

同时还有一个细节,查询的时候,用>或者<的时候,是未必使用索引的,mysql会根据实际情况看是扫面索引还是全表扫描。这个没有规律,是个小细节,大家知道就好,后面本人还是会继续写关于mysql的文章,希望对大家有所帮助。