暂无图片
select * ,怎么还提示Using index condition ,索引全覆盖?
我来答
分享
暂无图片 匿名用户
select * ,怎么还提示Using index condition ,索引全覆盖?

mysql> explain select * from test_order where a = 100 and b > 200 group by b;
+----+-------------+------------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+------------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------+
| 1 | SIMPLE | test_order | NULL | range | idx_a_b_c | idx_a_b_c | 8 | NULL | 1 | 100.00 | Using index condition |
+----+-------------+------------+------------+-------+---------------+-----------+---------+------+------+----------+-----------------------+
1 row in set, 1 warning (0.00 sec)



create table `test_order` (
`id` int not null auto_increment comment 'id',
`a` int unsigned not null default '0',
`b` int unsigned not null default '0',
`c` varchar(64) not null default '',
`d` int default null,
primary key (`id`),
key `idx_a_b_c` (`a`,`b`,`c`),
key `idx_d` (`d`)
)


表中有10000 条数据

select * ,不是select 索引字段, 怎么还提示索引全覆盖??

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
everything

Using index condition 是索引下推
Using index 才是覆盖索引

暂无图片 评论
暂无图片 有用 3
打赏 0
张sir

楼上说的对,using index condition是索引下推,说明首先a=100用到了索引,b>200在innodb层进行了筛选,没有到server层筛选。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
服务器安装mysql8.0 必须要先安装 mysql-community-common-等模块吗?
回答 1
不需要mysql8.0.16linuxglibc2.12x8664.tar这种包解压修改一下/etc/my.cnf就可以使用了
mysql中下面哪个表示日期和时间的数据类型?
回答 1
已采纳
date  timestamp year  decimal
MySQL有哪些命令可以查看锁?
回答 1
已采纳
有如下几个命令可以查看锁:1.showprocesslist“showprocesslist;”可以显示哪些线程正在运行。2.showopentables 这条命令能够查看当前有哪些表是打开
之前安装的mysql已经删了 ,为什么这个服务还在?
回答 2
1)、先关掉mysql服务,卸载掉mysql,这里我就用cmd命令了:       关掉:netstopmysql; &
想通过unity链接其他人f的MySQL但是本身电脑没有MySQL, 可以吗?
回答 3
本身电脑没有MySQL可以的通过unity链接其他人f的MySQL需要下载connector,https://dev.mysql.com/downloads/connector/net/选.NET&a
mysql SQL怎么可以实现类型Oracle 登录触发器一样的功能?
回答 1
我觉得还是用审计比较好。不要写触发器
MySQL 怎么在一个过程里用变量或者临时表接收另一个过程select的表?
回答 1
可以利用递归存储过程,一个简历临时表存储需要的数据,一个利用临时表操作。或者直接在过程里面调用另一个过程
mysql表的数据怎么打乱顺序?
回答 1
已采纳
这个表是不行了,你再建立一个表,把这1万随机读一下,写进去。按照你说的,你是写入是物理有序,都定了,不好改了。
100.07,100.00 这样的小数如何保存到mysql数据库中? 注意,必须保留小数点后面的数值存储,怎么做到?
回答 1
decimal(10,3)
关于mysql不支持dml语句的子查询包含其本身的原因
回答 4
先说MyISAM和InnoDB的问题.这个"网上"的说法本身就是错误的,所以必然无法复现.MyISAM是非事务存储引擎,每次写入都会有表级别的排他锁,不会涉及这些可见性问题,而In