博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 查询优化
阅读量:4199 次
发布时间:2019-05-26

本文共 1812 字,大约阅读时间需要 6 分钟。

mysql的查询,最好是能用上索引 被称为覆盖索引
mysql>  explain   select    item_id  from  sales_order_item order by sku limit 10000,2    -> ;+----+-------------+------------------+-------+---------------+------+---------+------+-------+-------------+| id | select_type | table            | type  | possible_keys | key  | key_len | ref  | rows  | Extra       |+----+-------------+------------------+-------+---------------+------+---------+------+-------+-------------+|  1 | SIMPLE      | sales_order_item | index | NULL          | sku  | 93      | NULL | 10002 | Using index |+----+-------------+------------------+-------+---------------+------+---------+------+-------+-------------+

 Extra 显示 Using index 就标示覆盖索引,

遇到负责的条件排序和查询,然后分页,

可以通过覆盖索引,查出来分页的id,然后通过id去inner join

例如:

select  * from sales_order_item inner join ( select    item_id  from  sales_order_item order by sku limit 10000,2 ) as x using(item_id);
+----+-------------+------------------+--------+---------------+---------+---------+-----------+--------+-------------+| id | select_type | table            | type   | possible_keys | key     | key_len | ref       | rows   | Extra       |+----+-------------+------------------+--------+---------------+---------+---------+-----------+--------+-------------+|  1 | PRIMARY     | 
| ALL | NULL | NULL | NULL | NULL | 10002 | NULL || 1 | PRIMARY | sales_order_item | eq_ref | PRIMARY | PRIMARY | 4 | x.item_id | 1 | NULL || 2 | DERIVED | sales_order_item | index | NULL | sku | 93 | NULL | 116180 | Using index |+----+-------------+------------------+--------+---------------+---------+---------+-----------+--------+-------------+
子查询使用的是覆盖索引,查询出来需要的id,然后通过id去匹配对应的行,就会加快速度

为什么这样快,因为不是覆盖索引,会加载数据部分,而不是只在索引表进行检索,速度会变慢。

转载地址:http://bxdli.baihongyu.com/

你可能感兴趣的文章
mongodb fulltextsearch 关于语言的设置选项
查看>>
mongodb 增加全文检索索引
查看>>
symfony
查看>>
yourls 短连接 安装
查看>>
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
查看>>
softlayer 端口开放
查看>>
操作1:mongodb安装
查看>>
操作2:mongodb使用语法
查看>>
如何给分类增加一个属性(后台)
查看>>
linux设置环境变量 临时设置 和 永久设置
查看>>
检查网站在世界各地的打开速度
查看>>
jquery 向上(顶部),向下(底部)滑动
查看>>
seo
查看>>
10个出色的NoSQL数据库
查看>>
MySQL: InnoDB 还是 MyISAM?
查看>>
MySQL性能优化的最佳20+条经验
查看>>
SQL语言的组成部分 ddl dcl dml
查看>>
mysql数据库从库同步延迟的问题
查看>>
1.mysql数据库主从复制部署笔记
查看>>
mysql数据库主从同步的问题解决方法
查看>>