广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中SQL语句优化的示例分析
  • 462
分享到

MySQL中SQL语句优化的示例分析

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

这篇文章主要介绍Mysql中sql语句优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sql如下:sql强制用了into_time索引# Time: 2017-02-14

这篇文章主要介绍Mysqlsql语句优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

sql如下:sql强制用了into_time索引


  1. # Time: 2017-02-14T11:35:01.594499+08:00

  2. # User@Host: oms_readonly[oms_readonly] @ [10.44.xxx.xxx] Id: 41636892

  3. # Query_time: 9.299612 Lock_time: 0.000124 Rows_sent: 20 Rows_examined: 2439330

  4. SET timestamp=1487043301;

  5. select * from customers force index(`into_time`) where `type` = 1 AND `status` < 7 AND `isarea` = 8 AND `into_time`<='2017-01-31 23:59:59' order by score desc limit 0,20;

查看表的相关状态:


  1. mysql> show table status like 'customers' \G;

  2. *************************** 1. row ***************************

  3.            Name: customers

  4.          Engine: InnoDB

  5.         Version: 10

  6.      Row_fORMat: Dynamic

  7.            Rows: 2504609

  8.  Avg_row_length: 710

  9.     Data_length: 1780383744

  10. Max_data_length: 0

  11.    Index_length: 1253048320

  12.       Data_free: 6291456

  13.  Auto_increment: 2546101

  14.     Create_time: 2017-01-07 01:59:34

  15.     Update_time: 2017-02-14 13:58:17

  16.      Check_time: NULL

  17.       Collation: utf8_general_ci

  18.        Checksum: NULL

  19.  Create_options:

  20.         Comment:

  21. 1 row in set (0.00 sec)

表一共大约有250万行记录,查看下满足into_time<='2017-01-31 23:59:59'这个条件的有多少行


  1. mysql> select count(*) from customers where `into_time`<='2017-01-31 23:59:59';

  2. +----------+

  3. | count(*) |

  4. +----------+

  5. | 2439147 |

  6. +----------+

  7. 1 row in set (0.95 sec)


显然into_time这个列的索引已经不合适了,查看下表上都有那些索引


  1. Create Table: CREATE TABLE `customers` (

  2.   `id` int(11) NOT NULL AUTO_INCREMENT,

  3.   PRIMARY KEY (`id`),

  4.   KEY `newdata` (`newdata`),

  5.   KEY `cusname` (`cusname`),

  6.   KEY `type` (`type`,`ownerid`),

  7.   KEY `operator` (`operator`),

  8.   KEY `into_time` (`into_time`),

  9.   KEY `isarea` (`isarea`),

  10.   KEY `linkcase` (`linkcase`),

  11.   KEY `score` (`score`),

  12.   FULLTEXT KEY `fdx_cusname` (`cusname_idx`)

  13. ) ENGINE=InnoDB AUTO_INCREMENT=2546101 DEFAULT CHARSET=utf8

  14. 1 row in set (0.00 sec)

可以看到score列有索引,如果能采用这个列的索引是个比较好的选择,去掉强制索引看下执行计划





    1. mysql> explain select * from customers where `type` = 1 AND `status` < 7 AND `isarea` = 8 AND `into_time`<='2017-01-31 23:59:59' order by score desc limit 0,20;

    2. +----+-------------+-----------+------------+-------+-----------------------------------------------------------------+-------+---------+------+------+----------+-------------+

    3. | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

    4. +----+-------------+-----------+------------+-------+-----------------------------------------------------------------+-------+---------+------+------+----------+-------------+

    5. | 1 | SIMPLE | customers | NULL | index | type,into_time,isarea,status,idx_isarea_renew_owner,type_status | score | 2 | NULL | 270 | 0.92 | Using where |

    6. +----+-------------+-----------+------------+-------+-----------------------------------------------------------------+-------+---------+------+------+----------+-------------+

    7. 1 row in set, 1 warning (0.00 sec)

可以看到用了score索引,执行时间从最9秒多,到优化后的0.0几秒。

以上是“MySQL中SQL语句优化的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中SQL语句优化的示例分析

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL中SQL语句优化的示例分析
    这篇文章主要介绍MySQL中SQL语句优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sql如下:sql强制用了into_time索引# Time: 2017-02-14...
    99+
    2022-10-18
  • MySQL中SQL语句分析与查询优化的示例分析
    这篇文章主要为大家展示了“MySQL中SQL语句分析与查询优化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中SQL语句分析与查询优化的示例...
    99+
    2022-10-18
  • Mysql中Sql语句注释的示例分析
    这篇文章主要介绍了Mysql中Sql语句注释的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL的SQL语句里面是可以加注释的...
    99+
    2022-10-18
  • mysql记录耗时中sql语句的示例分析
    这篇文章主要介绍了mysql记录耗时中sql语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 mys...
    99+
    2022-10-18
  • SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的示例分析
    小编给大家分享一下SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在数据库的应用中,我们经常需要对数据库进...
    99+
    2022-10-18
  • MySQL中SQL优化建议的示例分析
    这期内容当中小编将会给大家带来有关MySQL中SQL优化建议的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。今天早上看到同事的一个优化需求,优化的时间其实不多,但...
    99+
    2022-10-19
  • Mysql中SQL语句不使用索引的示例分析
    小编给大家分享一下Mysql中SQL语句不使用索引的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL查询不使用索...
    99+
    2022-10-18
  • MySQL中DML语句的示例分析
    这篇文章将为大家详细讲解有关MySQL中DML语句的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DML操作是指对数据库中表记录的操作,主要包括表记录的插入(in...
    99+
    2022-10-18
  • mysql中update语句的示例分析
    这篇文章主要介绍了mysql中update语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,准备创建一张test表CREATE...
    99+
    2022-10-18
  • mysql中入门语句的示例分析
    这篇文章主要为大家展示了“mysql中入门语句的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中入门语句的示例分析”这篇文章吧。Selec&#...
    99+
    2022-10-18
  • MySQL语句加锁的示例分析
    这篇文章主要介绍了MySQL语句加锁的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。事前准备建立一个存储三国英雄的hero表:CRE...
    99+
    2022-10-18
  • SQL语句解读服务的示例分析
    SQL语句解读服务的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天主要分享一个有趣的SQL语句解读服务,支持高亮显...
    99+
    2022-10-19
  • 对SQL语句进行分析和优化
    安装和查看ORACLE执行计划ORACLE在执行SQL语句时使用的步骤的集合叫做执行计划前起条件:    在目录:$ORACLE_HOME/RDBMS/ADMIN目录下的执行u...
    99+
    2022-10-18
  • MySQL数据库性能优化之SQL优化的示例分析
    这篇文章将为大家详细讲解有关MySQL数据库性能优化之SQL优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  注:这篇文章是以 MySQL 为背景,很多内容...
    99+
    2022-10-19
  • mysql中limit优化的示例分析
    小编给大家分享一下mysql中limit优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!    ...
    99+
    2022-10-18
  • MySQL中table_cache优化的示例分析
    这篇文章主要介绍MySQL中table_cache优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!table_cache指定表高速缓存的大小。每当MySQL访问一个表时,...
    99+
    2022-10-19
  • MySQL中的SQL语句怎么优化
    这篇文章将为大家详细讲解有关MySQL中的SQL语句怎么优化,文章内容质量较高,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。结构化查询语言(Structured Query Languag...
    99+
    2022-10-18
  • Mybatis-Plus中SQL语句组拼原理的的示例分析
    这篇文章主要为大家展示了“Mybatis-Plus中SQL语句组拼原理的的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis-Plus中SQL语句组拼原理的的示例分析”这篇文章...
    99+
    2023-06-15
  • SQL查询语句执行顺序的示例分析
    这篇文章主要介绍SQL查询语句执行顺序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL查询语句执行顺序如下:(7) SELECT  (8)&...
    99+
    2022-10-18
  • PHP中INCLUDE语句的示例分析
    这篇文章主要介绍了PHP中INCLUDE语句的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。每次遇到INCLUDE时PHP INCLUDE语句就包含指定的文件。所以你...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作