广告
返回顶部
首页 > 资讯 > 数据库 >慢SQL怎么优化
  • 495
分享到

慢SQL怎么优化

2024-04-02 19:04:59 495人浏览 安东尼
摘要

本篇内容介绍了“慢sql怎么优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!慢SQL诊断系统层面:检查系

本篇内容介绍了“慢sql怎么优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

慢SQL诊断

系统层面:检查系统服务器运行情况,磁盘 I/O 等;

数据库层面:

  • 对于Mysql来说,通过慢日志定位慢SQL;

  • 对于慢SQL,查看其执行计划,分析耗时的原因;

  • 如果缺失索引,根据业务需求,创建合适的索引;如果由于SQL语句的写法有问题,需要根据业务逻辑优化语句的写法。

实用的SQL诊断工具:SQLTXPLaiN

oracle专家开发的,用于诊断SQL相关的问题的工具,简单易用却功能强大。

对于慢SQL诊断支持很多Optimzer问题:如执行计划异常、SQL慢、结果不正(Wrong Result)等。

慢SQL优化

由 SQL 编写导致的慢 SQL 的优化建议:

  • 字段类型转换导致不用索引,如字符串类型的不用引号,数字类型的用引号等,这有可能会用不到索引导致全表扫描;

  • mysql 不支持函数转换,所以字段前面不能加函数,否则这将用不到索引;

  • 不要在字段前面加减运算;

  • 字符串比较长的可以考虑索引一部份减少索引文件大小,提高写入效率;

  • like % 在前面用不到索引;

  • 根据联合索引的第二个及以后的字段单独查询用不到索引;

  • 不要使用 select *;

  • 排序请尽量使用升序 ;

  • or 的查询尽量用 uNIOn 代替 (Innodb);

  • 复合索引高选择性的字段排在前面;

  • order by / group by 字段包括在索引当中减少排序,效率会更高。

  • 删除表所有记录请用 truncate,不要用 delete

  • 不让 mysql 干多余的事情,如:计算

  • 在 Innodb上用 select count(*),因为 Innodb 会存储统计信息;

  • 慎用 Oder by rand()。

开源 SQL 优化平台

对于 SQL 语句的优化,现在有一些开源的SQL优化平台,这些融入了大量DBA工程师的经验,我们可以借助这些平台对 SQL 进行优化。

1. SOAR

是一款 SQL 智能优化与改写工具,由小米运维 DBA 团队出品,SOAR  主要由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成,相比业内其他优秀产品有自己的优势,不仅能帮助你 rewrite  SQL并且能给出一些优化的建议。

2. SQLAdvisor

是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL的原生态词法解析,结合分析SQL中的其中条件,聚合条件,多表加入关系给出索引优化建议。

“慢SQL怎么优化”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 慢SQL怎么优化

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

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

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

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

下载Word文档
猜你喜欢
  • 慢SQL怎么优化
    本篇内容介绍了“慢SQL怎么优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!慢SQL诊断系统层面:检查系...
    99+
    2022-10-19
  • MySQL的慢SQL怎么优化
    本篇内容主要讲解“MySQL的慢SQL怎么优化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的慢SQL怎么优化”吧!索引类似大学图书馆建书目索引,可以...
    99+
    2022-10-18
  • Mysql优化-慢sql日志
    一.开启慢sql日志捕获慢sql 查询mysql是否开启慢sql捕获:show variables like ‘%slow_query_log%’; 默认为OFF,开启:set global slow_query_log=1; 查看慢...
    99+
    2018-11-19
    Mysql优化-慢sql日志
  • mysql运行sql文件缓慢怎么优化
    当MySQL运行SQL文件缓慢时,可以考虑以下优化方法:1. 增加内存缓冲区:通过修改MySQL配置文件中的innodb_buffe...
    99+
    2023-10-20
    mysql sql
  • SQL慢查询优化的方法是什么
    本篇内容主要讲解“SQL慢查询优化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL慢查询优化的方法是什么”吧!1.背景页面无法正确获取数据,经排查原来是接口调用超时,而最后发现是...
    99+
    2023-06-26
  • sql语句查询慢如何优化
    优化 SQL 查询性能的方法有很多,以下是一些常见的优化技巧:1. 索引优化:使用适当的索引可以大大提高查询性能。考虑创建索引以支持...
    99+
    2023-09-27
    sql
  • SQL怎么优化
    这篇文章将为大家详细讲解有关SQL怎么优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上,即随着应用程序的运行,数...
    99+
    2022-10-18
  • 怎么优化SQL
    小编给大家分享一下怎么优化SQL,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!判断问题SQL判断SQL是否有问题时可以通过两个表...
    99+
    2022-10-18
  • MySQL慢sql优化思路详细讲解
    目录1、开启mysql慢查询1.1、查看慢查询相关配置1.2、查询慢查询sql耗时临界点1.3、开启Mysql慢查询2、explain查看SQL执行计划2.1、Select_type2.2、Type2.3、Po...
    99+
    2023-01-05
    mysql慢sql优化五个原则 mysql 慢sql 慢SQL优化
  • sql语句执行过慢如何优化
    优化 SQL 语句的执行速度可以采取以下几种方法:1. 索引优化:确保表的关键字段上创建了正确的索引,以加快查询速度。可以使用 EX...
    99+
    2023-08-19
    sql
  • SQL该怎么优化
    这篇文章主要讲解了“SQL该怎么优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL该怎么优化”吧!一、避免进行null判断。 应尽量避免在 wher&...
    99+
    2022-10-19
  • 通过缓存+SQL修改优雅地优化慢查询
    目录问题描述需求寻找解决方案缓存方案更新策略缓存架构SQL优化问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验。 需求 减少接口的响应时间。 寻找解决方案 由于...
    99+
    2023-04-07
    mysql慢查询优化 mysql慢查询日志 mysql慢查询排查
  • MySQL-如何定位慢查询SQL以及优化
    如何定位慢查询SQL以及优化 慢查询日志记录慢SQLexplain查看分析SQL执行计划profile分析执行耗时Optimizer Trace分析详情确定问题采用响应措施 慢查询日志记录...
    99+
    2023-09-12
    sql 数据库 java
  • 详细聊聊MySQL中慢SQL优化的方向
    目录前言SQL语句优化记录慢查询SQL如何修改配置查看慢查询日志查看SQL执行计划如何使用SQL编写优化为何要对慢SQL进行治理总结前言 影响一个系统的运行速度的原因有很多,是多方面...
    99+
    2022-11-12
  • Case:MySQL Federated存储引擎引起的慢SQL优化
    这个案例并不是我遇到的,但是我的工作生产环境中有使用到federated存储引擎,所以记录一下。优化前有一条SQL部分截取内容如下,执行约268秒才能出结果:优化后从这条SQL的执行计划中可以看出来mego...
    99+
    2022-10-18
  • Mysql的慢SQL优化思路和规范详解
    目录1、索引优化1.1 建表或加索引时,保证表里互相不存在冗余索引。1.2 复合索引1.3 使用短索引1.4 单个表上的索引个数不能超过8个1.5 在多表join的SQL里,保证被驱动表的连接列上有索引,这样join执行...
    99+
    2023-05-16
    Mysql 慢SQL SQL优化思路 SQL规范
  • SQL语句怎么优化
    这篇文章运用简单易懂的例子给大家介绍SQL语句怎么优化,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、常见的SQL实践(1)负向条件查询不能使用索引select * fro...
    99+
    2022-10-18
  • 怎么优化SQL代码
    这篇文章主要介绍“怎么优化SQL代码”,在日常操作中,相信很多人在怎么优化SQL代码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么优化SQL代码”的疑惑有所帮助!接下来,...
    99+
    2022-10-19
  • 怎么精通SQL优化
    本篇内容主要讲解“怎么精通SQL优化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么精通SQL优化”吧!Explain有哪些信息先确认一下试验的MySQL版本...
    99+
    2022-10-18
  • MySql中sql怎么优化
    这篇文章主要介绍了MySql中sql怎么优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、explain返回列简介1、type常用关键字...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作