优化SQL

MySQL explain根据查询计划去优化SQL语句

目录 一、什么是MySQL explain 二、如何使用MySQL explain MySQL是一种常见的关系型数据库管理系统,常被用于各种应用程序中存储数据。当涉及到大量的数据时,数据库查询的性能就成了关键因素,这时就需要MySQL的explain功能来帮助优化查询语句。本文将详细介绍MyS »

通过缓存+SQL修改优雅地优化慢查询

目录 问题描述 需求 寻找解决方案 缓存方案 更新策略 缓存架构 SQL优化 问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验。 需求 减少接口的响应时间。 寻找解决方案 由于问题主要处在数据库压力过大的情况,采 »

【性能优化】优雅地优化慢查询:缓存+SQL修改组合拳

通过缓存与SQL,最小化代码侵入性的情况下,优化慢查询问题。 问题描述 单例数据库模式中,后端高并发请求多(读多写少),导致数据库压力过大,关键接口响应变慢,严重影响体验。 需求 减少接口的响应时间。 寻找解决方案 由于问题主要处在数据库压力过大的情况,采用两种优化思路优化查询过程: »

robinbin

数据库系列:覆盖索引和规避回表

1 介绍 在MySQL数据库查询过程中,索引覆盖和避免不必要的回表,是减少检索步骤,提高执行效率的有效手段。下面从这两个角度分析如何进行MySQL检索提效。 2 数据准备 模拟一个500w数据容量的部门表 emp,表结构如下,并通过工具模拟500w的数据: CREATE TABLE `emp` ( »

30分钟带你熟练性能优化的那点儿事儿(案例说明)

前言   性能优化是数据库运维人员和中、高级软件开发人员的必备技能,很多时候老司机和新司机的区别就在写出的东西是否优化。   博主接触过近千家客户的系统,这些系统都存在着各种各样的性能问题。那么如何透彻的了解我们的数据库性能问题?今天就用一个案例来说明性能优化的那点儿事儿。   PS:很多技术人员对 »

zhuancloud

常见的SQL优化面试专题大全

目录 介绍: 问:比如,现在有个面试官说,现在线上有个SQL执行很慢,你怎么优化? 问:慢 SQL 语句的几种常见诱因? 问:平时写SQL时该注意什么?有什么经验可谈? 问:有哪些影响数据库性能的瓶颈? 问:改善SQL性能涉及哪些步骤? 问:您如何分析执行计划? 问:您如何使用执行计划调整查询? »

常见的SQL优化面试专题大全

目录 介绍: 问:比如,现在有个面试官说,现在线上有个SQL执行很慢,你怎么优化? 问:慢 SQL 语句的几种常见诱因? 问:平时写SQL时该注意什么?有什么经验可谈? 问:有哪些影响数据库性能的瓶颈? 问:改善SQL性能涉及哪些步骤? 问:您如何分析执行计划? 问:您如何使用执行计划调整查询? »

MySQL慢sql优化思路详细讲解

目录 1、开启Mysql慢查询 1.1、查看慢查询相关配置 1.2、查询慢查询sql耗时临界点 1.3、开启Mysql慢查询 2、explain查看SQL执行计划 2.1、Select_type 2.2、Type 2.3、Possible_keys 2.4、Key 2.5、Key_len 2 »

数据库自动收缩造成的阻塞

背景 今天上午11点时客户打电话过来说医院的CIS系统一直有阻塞,导致系统卡慢严重,信息中心的电话都快被打爆了。赶紧要了远程登录到SQL专家云,看到了系统确实存在大量的阻塞。 点击紫色圆点进入活动会话原始数据,可以看到会话标识33是阻塞的源头,造成了大量的语句被阻塞,而且阻塞已经持续了很长的时间。 »

CPU持续100%分析并解决

背景 接到客户电话,说某系统数据库服务器CPU利用率从上午8点开始到现在基本上都是100%的情况,影响到了业务。让给看看是什么原因导致的,怎么紧急处理一下。 现象 查看CPU利用率,确实一直是90%以上的情况。      在CPU高的地方查看当时运行的语句,发现有一类语句并发量非常大,且大多数 »

zhuancloud

链接服务器查询导致的阻塞

背景 客户反馈数据库在上午10点时出现严重阻塞,阻塞源头会话在等待OLEDB,没有见过这个等待类型,请我们协助分析。 现象 登录SQL专家云,进入趋势分析,下钻到10点钟的活动会话,看到发生了两次严重的阻塞。 转到活动会话原始数据,看到阻塞的源头是会话331,正在执行UPDATE语句,阻塞了其它会话 ... »

zhuancloud

SQL性能优化的47个小技巧,你了解多少?

大家好,我是哪吒。 1、先了解MySQL的执行过程 了解了MySQL的执行过程,我们才知道如何进行sql优化。 客户端发送一条查询语句到服务器; 服务器先查询缓存,如果命中缓存,则立即返回存储在缓存中的数据; 未命中缓存后,MySQL通过关键字将SQL语句进行解析,并生成一颗对应的解析树,MySQ »

nezhaSoft

MySQL数据库的索引原理与慢SQL优化的5大原则

我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。 本文旨在以开发工程师的角度来解释数据库索引的原理和如何优化慢查询。 MySQL索引原理 1.索引目的 索引 »

为什么sleeping的会话会造成阻塞(2)

背景 客户反馈系统突然从11:10开始运行非常缓慢,在SQL专家云中看到大量的产生阻塞的活动会话,KILL掉阻塞的源头马上又出现新的源头,实在没有办法只能重启应用程序断开所有数据库连接才解决,请我们协助分析根本的原因。 现象 登录SQL专家云,进入趋势分析页面,下钻到11点钟内一个小时的数据,看到 »

数据库系列:MySQL慢查询分析和性能优化

1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢。 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题。 下面以MySQL为例子,我们从几个角度分析可能产生原因,并讨论解决的方案。 2 定位慢查询的原因并优化 ... »

wzh2010

优化数仓业务视图:过滤条件传递

摘要:在业务功能实现时,经常会用到视图简化查询SQL。但有时候会因为视图降低查询效率,本文主要分析在业务需求满足的情况下,将有效的过滤条件传递到基表,减少运算过程中数据库需要处理的数据量,提升SQL执行效率。 本文分享自华为云社区《GaussDB(DWS)业务视图优化-过滤条件传递》,作者:卫小毛 »

MySQL性能优化之一条SQL在MySQL中执行的过程详解

目录 一 MySQL的内部组件结构 1.1 service层 1.2 store层 二 连接器 三 分析器 四 优化器 五 执行器 六 bin-log归档 总结 一 MySQL的内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 1. »

数据库服务器CPU不能全部利用原因分析

背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。 现象 通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等待的会话数越多。 进入活动会话列表,发现大量会话的状态为runnable,runnable代表这个会话可以执行,但没有 »

MySQL优化三,SQL语法

## 1.3.MySQL调优 前言:在前面的基础之上把相应的数据库表设计得很完美,建立了好用的索引,如果SQL语句中没有使用到相应索引的话,也是白搭,如何设计好一点的SQL,则是一大问题 ### 1.3.1.MySQL调优金字塔 很明显从图上可以看出,越往上走,难度越来越高,收益却是越来越小的。 对 ... »

hellostar MySQL

[MySQL] 索引的使用、SQL语句优化策略

索引 什么是索引 索引是一种方便我们高效查找某一列或几列数据的一种数据结构,一般是 B+树或者 hash树。想象一下在一个表中有一列是我们经常需要用于作为查询条件的列,也就是它经常出现在 where 子句中,那么如果每次用到它都要顺序遍历全表数据来找到我们所需要的那一行,听着好像效率不太高的样子,所 ... »

kirizi MySQL