MySQL5.7查询性能改进
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,1.子查询1.1 MySQL5.5mysql> explain extended select id,k,c,pad from sbtest1 where id in (select id from
千家信息网最后更新 2026年10月31日MySQL5.7查询性能改进
1.子查询
1.1 MySQL5.5
mysql> explain extended select id,k,c,pad from sbtest1 where id in (select id from sbtest1 where k in ('50385','50011','43490','504922'));+----+--------------------+---------+-----------------+---------------+---------+---------+------+--------+----------+-------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+--------------------+---------+-----------------+---------------+---------+---------+------+--------+----------+-------------+| 1 | PRIMARY | sbtest1 | ALL | NULL | NULL | NULL | NULL | 612555 | 100.00 | Using where || 2 | DEPENDENT SUBQUERY | sbtest1 | unique_subquery | PRIMARY,k_1 | PRIMARY | 4 | func | 1 | 100.00 | Using where |+----+--------------------+---------+-----------------+---------------+---------+---------+------+--------+----------+-------------+2 rows in set, 1 warning (0.00 sec)1.2 MySQL5.7
mysql> explain select id,k,c,pad from sbtest1 where id in (select id from sbtest1 where k in ('50385','50011','43490','50492'));+----+-------------+---------+------------+--------+---------------+---------+---------+-------------------+------+----------+--------------------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+---------+------------+--------+---------------+---------+---------+-------------------+------+----------+--------------------------+| 1 | SIMPLE | sbtest1 | NULL | range | PRIMARY,k_1 | k_1 | 4 | NULL | 253 | 100.00 | Using where; Using index || 1 | SIMPLE | sbtest1 | NULL | eq_ref | PRIMARY | PRIMARY | 4 | sbtest.sbtest1.id | 1 | 100.00 | NULL |+----+-------------+---------+------------+--------+---------------+---------+---------+-------------------+------+----------+--------------------------+2 rows in set, 1 warning (0.00 sec)2.union all
2.1 MySQL5.5,会将结果存在临时表中
mysql> explain (select k from sbtest1 order by k) union all (select k from sbtest2 order by k);+----+--------------+------------+-------+---------------+------+---------+------+--------+-------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+--------------+------------+-------+---------------+------+---------+------+--------+-------------+| 1 | PRIMARY | sbtest1 | index | NULL | k_1 | 4 | NULL | 612555 | Using index || 2 | UNION | sbtest2 | index | NULL | k_2 | 4 | NULL | 615365 | Using index || NULL | UNION RESULT | | ALL | NULL | NULL | NULL | NULL | NULL | |+----+--------------+------------+-------+---------------+------+---------+------+--------+-------------+3 rows in set (0.00 sec) 2.2 MySQL5.7,直接展示结果
mysql> explain (select k from sbtest1 order by k) union all (select k from sbtest2 order by k);+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+| 1 | PRIMARY | sbtest1 | NULL | index | NULL | k_1 | 4 | NULL | 597600 | 100.00 | Using index || 2 | UNION | sbtest2 | NULL | index | NULL | k_2 | 4 | NULL | 597744 | 100.00 | Using index |+----+-------------+---------+------------+-------+---------------+------+---------+------+--------+----------+-------------+2 rows in set, 1 warning (0.00 sec)3 in查询
3.1 MySQL5.5
mysql> explain select * from sbtest1 where (k,pad) in ((43490,'24909597713-10795827686-60824686337-78820064088-50914299985'),(50088,'56702105543-74313438035-88959810983-96828764563-29757615888'));+----+-------------+---------+------+---------------+------+---------+------+--------+-------------+| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |+----+-------------+---------+------+---------------+------+---------+------+--------+-------------+| 1 | SIMPLE | sbtest1 | ALL | NULL | NULL | NULL | NULL | 612555 | Using where |+----+-------------+---------+------+---------------+------+---------+------+--------+-------------+1 row in set (0.00 sec)3.2 MySQL5.7
mysql> explain select * from sbtest1 where (k,pad) in ((43490,'24909597713-10795827686-60824686337-78820064088-50914299985'),(50088,'56702105543-74313438035-88959810983-96828764563-29757615888'));+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-------------+| 1 | SIMPLE | sbtest1 | NULL | range | k_1 | k_1 | 4 | NULL | 77 | 20.00 | Using where |+----+-------------+---------+------------+-------+---------------+------+---------+------+------+----------+-------------+1 row in set, 1 warning (0.00 sec)
查询
结果
性能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技平台互联网
互联网公司 科技公司
互联网金融与金融科技
广州凡科互联网科技
深圳天众互联网科技公司
人人互联网科技是培训
成都玖崟互联网科技有限公司乐商圈怎么样
科技互联网的估值
随着互联网科技发展
黑科技闪耀互联网之光
互联网科技扶贫时间
乌鲁木齐新华智原互联网科技学校
互联网金融科技名词解释
互联网科技实习生岗位
西安有哪些互联网高科技企业
中国科技和美国互联网
西安左小互联网科技有限公司
互联网科技品牌
互联网对科技影响
互联网大会出现的黑科技
互联网科技卖菜
深圳互联网科技公司
艾特科技互联网
伴你行互联网科技有限公司
成都玖崟互联网科技有限公司乐商圈怎么样
南山科技园互联网公司有哪些
互联网科技与管理
科技互联网海报
抖集互联网科技技术咨询
中国主要互联网科技公司