您的位置:首页 > 数据库 > MySQL

mysql(二)关于索引的细节

2017-05-10 21:17 141 查看
在mysql中,我们一般都是使用innodb引擎。

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

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

我们表上有一个复合索引:


store_id,second_category.

下面看我们sql的查询情况


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

下面我们把两个where子句中两个字段查询顺序反过来:


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

这是一个细节。

同时还有一个细节,查询的时候,用>或者<的时候,是未必使用索引的,mysql会根据实际情况看是扫面索引还是全表扫描。这个没有规律,是个小细节,大家知道就好,后面本人还是会继续写关于mysql的文章,希望对大家有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 索引 优化