有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);操作: 查询条件放到子 ......
395
0
0
2022-12-15
前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql语句呢?这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助。15个SQL优化技巧1. 避免 ......
460
0
0
2022-11-17
小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里BATJTMD等大厂的面试难度越来越高,但无论从大厂还是到小公司,一直未变的一个重点就是对SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,甚至在各大厂招聘岗位职能上都有明码标注,如果是你,在这个问题上能吊 ......
430
0
0
2022-11-17
项目背景有三张百万级数据表知识点表(ex_subject_point)9,316条数据试题表(ex_question_junior)2,159,519条数据 有45个字段知识点试题关系表(ex_question_r_knowledge)3,156,155条数据测试数据库为:mysql (5.7)1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where ......
434
0
0
2022-11-11
作者 | 波波说运维出品 | 波波说运维如何快速定位消耗 CPU 最高的 SQL 语句?概述如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句,而mysql数据库可以怎么定位呢?这里用一个简单例子说明下...主要是了解如何定位的思路,具体看官网介绍..参考:https://www.percona.com/blog/20 ......
389
0
0
2022-11-10
Cobar 虽然是一款“古老”的数据库中间件,但目前不少公司仍然在用它,且它包含了不少有意思的算法和实现,今天就来分享 Cobar 提出的一种在分库场景下对 Order By / Limit 的优化。原算法描述参考: https://github.com/alibaba/cobar/blob/master/doc/cobarSolution.ppt背景Cob ......
397
0
0
2022-10-20
一、前言SQL 最强大的功能之一就是能在数据检索查询的执行中联结表。联结是利用 SQL 的 SELECT 执行的最重要的操作,很好地理解联结及其语法是学习 SQL 的一个极为重要的组成部分。二、E-R 图与班级学生表E-R 图如下:学生表如下,如果学生已经分配了班级,class_id 列则为分配班级的编号,否则为 NULL(意为未分配):班级表如下:三、内联 ......
506
0
0
2022-10-10
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引:尝试下面的技巧以避免优化器错选了表扫描:使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。对扫描的表使用FORCE INDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。SELECT * FROM t1, t2 FORCE ......
504
0
0
2022-09-01
“今天跟大家分享一篇刚哥写的关于数据库优化的文章,这篇文章会教会你面对问题解决的方法,真是很实用,这可是刚哥的经验之谈,感觉不错就分享给你的小伙伴吧!摘要从事前端开发的都知道,页面显示的数据一定要及时的呈现,否则会影响用户体现.那么导致页面加载数据慢或者显示滞后的原因又是什么呢?拿自己之前做项目经历给大家讲讲吧,之前做后台,当时的项目实时性都非常高,前端页面 ......
485
0
0
2022-08-24
文章来自:如何快速定位消耗 CPU 最高的 sql 语句,怎么做?看看下面的介绍。概述如果是Oracle数据库我们可以很容易通过sql来定位到当前数据库中哪些消耗CPU高的语句,而mysql数据库可以怎么定位呢?这里用一个简单例子说明下…主要是了解如何定位的思路,具体看官网介绍..参考:www.percona.com/blog/2020/04/23/a-.. ......
393
0
0
2022-08-09
出来毕业做Java开发也有一段时间了,之前做的都是外包的一些企业运维系统,数据量不大,而且操作不频繁,加上分页,一般也不会觉得又啥慢查询。上个广告平台公司做的APP接口,前端发出请求到拿到响应,1.2S的响应时间,意味着吞吐量基本为1,慢慢的开始关注起SQL的查询优化,比如:应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用 ......
434
0
0
2022-07-31
很多程序员视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言、面向对象的程序语言、甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言)。我们每天都在写 SQL 相关的语句用于各种数据索引中。关于SQL 优化的那些事儿,鲜少有人能总结全面。今天,就SQL优化那些事儿,我们准备了四个问题让网友就此 ......
359
0
0
2022-07-30
O公司财务系统上线之后,用户在填报销单的时候,经常遇到页面打开慢的情况,请供应商来看,答曰一切正常,继续观察。此后,页面打开越来越慢,甚至于达到20多秒才能加载完,来自于全公司的抱怨越来越多,供应商的观察迟迟不见结果。领导很生气,后果很严重,IT部上下压力极大,鉴于供应商极不给力(此事另提),于是撸起袖子自己上阵搞,开发的兄弟查代码,硬件的兄弟做实时监控,我 ......
398
0
0
2022-07-30
一、查询慢的原因1、网络(1)网络丢包,重传这个比较容易理解。当SQL 从客户端发送到数据库,执行完毕,数据库将结果返回给客户端,这个将数据返回给客户端的过程本质是网络包传输。因为链路的不稳定性,如果在传输过程中发送丢包会导致数据包重传,进而增加数据传输时间。从客户端来看,就会觉得SQL 执行慢。(2)网卡满 比如大字段如果公司业务体量很大,比如平时每天30 ......
357
0
0
2022-07-20
背景Mysql数据库作为数据持久化的存储系统,在实际业务中应用广泛。在应用也经常会因为SQL遇到各种各样的瓶颈。最常用的Mysql引擎是innodb,索引类型是B-Tree索引,增删改查等操作最经常遇到的问题是“查”,查询又以索引为重点(没索引不是病,慢起来太要命)。踩过O2O优惠券、摇一摇周边两个业务的一些坑,当谈到SQL优化时,想分享下innodb下B- ......
427
0
0
2022-07-17