iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL5.7查询性能改进
  • 873
分享到

MySQL5.7查询性能改进

2024-04-02 19:04:59 873人浏览 薄情痞子
摘要

1.子查询 1.1 Mysql5.5 mysql> explain extended select id,k,c,pad from sbtest1 where id in (sel

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 | <union1,2> | 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)
您可能感兴趣的文档:

--结束END--

本文标题: MySQL5.7查询性能改进

本文链接: https://www.lsjlt.com/news/39397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL5.7查询性能改进
    1.子查询 1.1 MySQL5.5 mysql> explain extended select id,k,c,pad from sbtest1 where id in (sel...
    99+
    2022-10-18
  • Redis缓存中怎么改善数据库查询性能
    这期内容当中小编将会给大家带来有关Redis缓存中怎么改善数据库查询性能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。因为Redis具有在数据存储中快速读写数据的能力,所...
    99+
    2022-10-18
  • mysql-查询性能优化
    不要取出全部列,取出全部列,会让优化器无法完成索引覆盖扫描这类优化,还会为服务器带来额外的I/O、内存和CPU的消耗。应该严格禁止SELECT * 的写法。MySQL使用如下三种方式应用WHERE条件,从好到坏依次...
    99+
    2021-02-18
    mysql-查询性能优化
  • 【MYSQL】mysql5.7-bug -information_schema的表被查询可能导致内存泄漏
    [11 May 2017 6:57] Cho-Shing Ma Description: ...
    99+
    2022-10-18
  • MySQL 查询 - 排除某些字段的SQL查询,提升查询性能
    序言 某些时候,需要查询拥有很多很多字段的表,但是查询表时,其中有一些不需要查询的字段,会增加查询的负担,所以这时候,就需要排除这些冗余的字段,指定需要的字段查询,提升查询性能。 笔者尝试过使用 - ...
    99+
    2023-10-20
    mysql 数据库
  • MYSQL(四)查询性能优化
    优化数据访问1.是否向数据库请求了不需要的数据解决方式:A. 查询后加limitB. Select后写需要的列而不是*2. 是否扫描了额外的数据数据库的访问方式速度由...
    99+
    2022-10-18
  • SQL Server性能相关查询
      1、查询SQL Server执行过的SQL语句(执行次数) 有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT ss.SUM_execution_count , t.text , ss....
    99+
    2015-04-03
    SQL Server性能相关查询 数据库入门 数据库基础教程 数据库 mysql
  • mysql 多表关联查询如何改进
    mysql 多表关联查询怎么优化好呢 🚨 使用正确的连接类型优化 WHERE 子句为关联字段创建索引减少查询的字段考虑使用分布式查询尽量避免子查询优化连接顺序利用 EXPLAIN 分析查询分解复杂查询使用视图...
    99+
    2023-08-28
    mysql 数据库 sql 多表 优化
  • 【MyBatis】测试 修改.删除.查询功能
    🍓个人主页:个人主页 🍒系列专栏:SSM框架 目录 1.创建sqlSession工具类 2.测试修改功能 3.测试删除功能  4.测试查询功能 1.创建sqlSession工具类 在MyBati...
    99+
    2023-09-09
    mybatis java mysql spring boot sprint
  • nodejs 8.11性能改进
    随着Node.js的快速发展和广泛应用,以及对更高效性能的压力,Node.js 8.11发布了一些重大的性能改进。这些改进涵盖了语言本身的改进、V8引擎的改进以及其它方面的改进。在此篇文章中,我们将深入探讨这些性能改进的具体内容。新的Jav...
    99+
    2023-05-14
  • MySQL 如何分析查询性能
    查询优化、索引优化和表设计优化是环环相扣的。如果你有丰富的编写MySQL查询语句的经验,你就会知道如何设计表和索引来支持有效的查询。同样的,知晓表设计同样有助于了解表结构如何对查询语句产生影响。因此,即便表设计和索...
    99+
    2022-05-12
    MySQL 查询性能 MySQL 查询性能分析
  • 如何优化MySQL的查询性能?
    如何优化MySQL的查询性能?MySQL是一款广泛应用于Web开发的关系型数据库管理系统。然而,在处理大量数据和复杂查询时,MySQL的查询性能可能会受到影响,从而导致应用程序的响应时间变慢。为了提高MySQL的查询性能,我们可以采取以下几...
    99+
    2023-10-22
    索引优化 数据库缓存 查询重写
  • MySQL中怎么优化查询性能
    MySQL中怎么优化查询性能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。WHERE条件字段使用函数假设我们有如下创建表的语句mysq...
    99+
    2022-10-18
  • Linq查询与性能举例分析
    这篇文章主要讲解了“Linq查询与性能举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linq查询与性能举例分析”吧!Orcas(VS2008&Framework3.5)给我们...
    99+
    2023-06-17
  • MySQL高性能索引策略和查询性能优化
    前缀索引和索引选择性 有时候需要索引很长的字符,这会让索引变得大且慢。一个策略是模拟哈希索引。 通常可以索引开始的部分字符,这样可以大大解约索引空间,提高索引效率。但这样会降低索引的选择性。 索引的选择性:不重复的索引值(也成为基数)和...
    99+
    2017-05-17
    MySQL高性能索引策略和查询性能优化
  • 性能分析之MySQL慢查询日志分析(慢查询日志)
    一、背景            MySQL的慢查询日志是MySQL提供的一种日志记录,他用来记录在MySQL中响应的时间超过阈值的语句,具体指运行时间超过long_query_time(默认是10秒)值的SQL,会被记录到慢查询日志中。  ...
    99+
    2023-10-20
    mysql 数据库 慢日志分析 性能优化 慢查询日志
  • PHP8.2将有哪些改动(性能改进、新特性)!
    目前PHP8.2的发布时间还没有确定,但是预计将在2022年末发布。这篇文章将为你介绍在新版本中的功能、性能改进、弃用的特性等。相关推荐:PHP8.2最新进展,即将进行新特性冻结!null和false将作为独立的类型PHP并不会陷入到完美的...
    99+
    2022-07-04
    php
  • Vue.js监听select2的值改变进行查询方式
    目录监听select2的值改变进行查询页面中引用select2组件在js里引入如下代码:在vue实例中使用,进行测试监听select的事件监听select2的值改变进行查询 由于前端...
    99+
    2022-11-13
  • Mysql怎么对json数据进行查询及修改
    这篇文章主要介绍“Mysql怎么对json数据进行查询及修改”,在日常操作中,相信很多人在Mysql怎么对json数据进行查询及修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql怎么对json数据进...
    99+
    2023-07-02
  • Mysql如何对json数据进行查询及修改
    目录对json数据进行查询及修改几个相关函数示例查询来看看修改删除插入mysql处理json数据对json数据进行查询及修改 使用 字段->'$.json属性' 进行查询条件使用 json_extr...
    99+
    2022-07-05
    Mysqljson修改 Mysqljson查询 Mysql对json数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作