关于索引来解决慢查询的问题

原创 2016年08月29日 23:11:50

    写这篇博客并不是近期遇到这个问题,只是最近有点程序员的困惑,想着把自己知道的东西总结下来,这样心会安静点

    首先我需要讲一下索引的概念。数据库的索引就是跟书本的索引一样,可以快速的找到你想找到的东西,从而大大提高性能。

    当我们想去看看SQL语句走了哪些索引的时候,直接explain sql语句就可以查看了,例如:explain select * from user where userid="2";

   执行完这条语句后会出现10个字段,分别是id,select_type, table,type,possible_keys,key,ley_len,ref,rows,Extra。



id:这个代表着语句的查询顺序,现在上面只有1,但是如果出现联合查询语句的话,那就会有2,甚至有3等等。

select_type:这是搜索的级别,这里面有这个几个东西:大家可以参考一下这个博客:http://my.oschina.net/scipio/blog/293051?p=1

table:就是查询的表,这个没什么好说的

type:这里面有个比较,system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>all。其中system是最好,ALL是最次的

possible_keys:有可能会走的索引

key:实际走的索引

key_len:sql走的索引的长度

row:表示sql查询了几行才找到数据

Extra:查询的过程中的补充信息,这里我就不多说,http://my.oschina.net/scipio/blog/293052这篇博客说的很详细。



我需要补充的是:有个大牛跟我说,sql语句走哪条索引是不可控的,是自身来计算决定的。我们只能去做一些索引来供它去选择,以上言论供大家参考。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

mysql慢查询原因分析与解决(三)——索引及查询优化

转载地址:http://www.javaranger.com/archives/1500 索引的类型 Ø 普通索引:这是最基本的索引类型,没唯一性之类的限制。 Ø 唯一性...

MySQL慢查询配置,及解决相关问题

MySQL慢查询配置,及解决相关问题

solr 4 线上服务,解决慢查询导入问题。Query execution was interrupted

问题: mysql 数据库设置了慢查询断开功能,查询慢,直接把客户端杀掉。 solr链接mysql 进行数据库导入。结果报错Query execution was interrupted。...

mysql性能优化-慢查询分析、优化索引和配置

目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询   2索...

MySQL索引原理与慢查询优化

索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看...

MySQL索引原理及慢查询优化

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位...

mysql性能优化-慢查询分析、优化索引和配置

目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优...

Mysql性能优化--慢查询、索引、分表、增量备份还原

转自  http://www.cnblogs.com/jiekzou/p/5371085.html Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 表的设计合理化(...

MySQL索引原理及慢查询优化

本文转自:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)