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的索引,有些细节我们必须了解,在此就不说mysql的索引建立方式以及规则了,有兴趣的可以搜索mysql引擎,符合引擎的知识,我们在此要说的是mysql索引的一些细节知识。
我们都知道符合索引前导列规则,其实我们在查询中,mysql会自动为我们进行索引优化,即使你的sql,where字句中不是按照前导列的规则写的,mysql也会自动为你重新排序,下面我们看一个例子:
我们表上有一个复合索引:
store_id,second_category.
下面看我们sql的查询情况
在这个sql中我们按照前导列的规则去写,其执行用到了索引。
下面我们把两个where子句中两个字段查询顺序反过来:
其还是使用了索引,是因为innodb在我们查询的时候根据我们用到的情况,会帮我们sql优化,从而匹配索引。
这是一个细节。
同时还有一个细节,查询的时候,用>或者<的时候,是未必使用索引的,mysql会根据实际情况看是扫面索引还是全表扫描。这个没有规律,是个小细节,大家知道就好,后面本人还是会继续写关于mysql的文章,希望对大家有所帮助。
相关文章推荐
- 关于MYSQL中的多列索引(联合索引)
- 关于MySQL中复合索引优化
- 关于mysql联合索引
- mysql中关于order by的一些小细节
- 关于mysql的procedure的一些细节
- 关于mysql的一些安全细节问题
- mysql关于or的索引问题
- mysql关于or的索引问题
- 关于MySQL InnoDB表的二级索引是否加入主键列的问题解释
- 关于查看MYSQL一张表索引的语句SHOW INDEX FROM tleName的分析
- 关于mysql索引使用需要注意的几点
- MySQL性能优化-关于索引
- 【mysql】关于字符串索引对update的影响
- 关于MYSQL索引优化和in or替换为union all
- 关于MySQL索引的几点值得注意的事项
- 关于MySQL中复合索引优化
- 关于mysql客户端软件Navicat for mysql中的索引
- 关于mysql 索引的文章
- 关于MySql全文索引
- 关于Mysql索引的笔记