关于索引来解决慢查询的问题
来源:互联网 发布:淘宝产品会自动下架吗 编辑:程序博客网 时间:2024/05/23 00:08
写这篇博客并不是近期遇到这个问题,只是最近有点程序员的困惑,想着把自己知道的东西总结下来,这样心会安静点
首先我需要讲一下索引的概念。数据库的索引就是跟书本的索引一样,可以快速的找到你想找到的东西,从而大大提高性能。
当我们想去看看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数据库查询慢的问题
- Oracle模糊查询之(4.采用全文索引解决模糊查询,给出具体步骤)采用全文索引解决模糊查询速度慢的问题[主文]
- 走主键索引的查询sql变慢的问题
- 数据库迁移之后查询特别慢的问题--重建索引
- DB:实战 Force Index() 强制 MariaDB使用索引解决慢查询问题
- 利用冗余字段解决查询结果排序慢的问题
- 解决union all 联合查询,速度慢的问题
- searchlight要用elasticsearch解决metadata查询慢的问题
- 索引监控慢的问题
- SQL关于加参数查询很慢的问题
- MySQL前缀索引导致的慢查询
- Mysql的索引和慢查询优化
- 待解决问题
- 我是什么时候注册的呢?
- 计算机视觉资料---有源代码
- JAVA集合源码分析系列:LinkedList源码分析
- 自己使用的git命令备份
- 关于索引来解决慢查询的问题
- JAVA集合源码分析系列:HashMap源码分析
- python测试心得
- 第十一周上机实践项目4:教师兼干部类
- JAVA_OA(十四):SSM练手项目bug-Oracle分页web页面无法转到下一页
- JAVA集合源码分析系列:HashSet源码分析
- Linux进程隐藏
- Super Pow--C++ Clean and Short Solution
- Oralce和Innodb MVCC关键机制