大招落地:MySQL 插入更新死锁源码分析
天再来分析一个死锁场景。下面开始真正的内容。建表语句:```javaCREATE TABLE `tenant_config` ( `id` bigint(21) NOT NULL AUTO_INCR
千万级数据表选错索引导致的线上慢查询事故
前言又和大家见面了!又两周过去了,我的云笔记里又多了几篇写了一半的文章草稿。有的是因为质量没有达到预期还准备再加点内容,有的则完全是一个灵感而已,内容完全木有。羡慕很多大佬们,一周能产出五六篇文章,给
从一次数据库问题排查实战
前言上周五,一同事在开发时遇到了一个问题,叫我帮忙看下.在描述这个同事遇到问题之前,我先简单做一些知识的铺垫,否则不好描述.这里面涉及到的知识点有Spring的事务传播机制、数据库的隔离级别等.本篇重
记一次中间件导致的慢SQL排查过程
前言最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,正好博客也好久不更新了,就以此为素材写出了本篇文章。 Bug现场我们的分库分表中间件在经过一年的沉淀之
Mysql中慢SQL的分析与优化
解决思路:将数据存放在更快的地方;适当合并I/O;利用分布式架构
记一次慢SQL优化
一次典型的慢SQL优化
为什么mysql的count()方法这么慢?
兄弟们。浅浅的炫个富吧。说出来你们可能不信。手机你们有吗?我有。短信,知道吧?一条一毛钱,我天天发。你敢想吗?所以说,年轻人,有钱是真的好。今天,我们就以短信为话题聊起。短信,它又叫SMS。 比如说,你有一张短信表(sms),里面放了各种需要发送的短信信息。s
索引失效的这10种场景,把我坑惨了
我之前写的一篇文章《聊聊sql优化的15个小技巧》,自发表之后,在全网广受好评,被很多大佬转载过,说明了这类文章的价值。今天我接着上一期数据库的话题,更进一步聊聊索引的相关问题,因为索引是大家都比较关心的公共话题,确实有很多坑。不知道你在实际工作中,有没有遇到过下面的这两种情况:明明在
SQL优化之数据倾斜解决实战
导言数据倾斜即指在大数据计算任务中某个处理任务的进程(通常是一个JVM进程)被分配到的任务量过多,导致任务运行时间超长甚至最终失败,进而导致整个大任务超长时间运行或者失败。外部表现的话,在HiveSQL任务里看到map或者reduce的进度一直是99%持续数小时没有变化;在SparkSQL里则是某
慢查询性能优化实践
项目组接到两家客户反馈,部分生产统计报表查询缓慢,甚至某些报表无法查询出1个月的统计数据。
如何写出高性能 SQL 语句?
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认
【译】SQL性能优化:关于查找慢查询的几种方法分享
SQL Server的查询运行太慢了,以至于大家都不太喜欢,介绍几种方法可以快速跟踪它们,以便处理这些查询!
聊聊sql优化的15个小技巧
大家好,我是苏三,又跟大家见面了。前言sql优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。如果某天你负责的某个线上接口,出现了性能问题,需要做优化。那么你首先想到的很有可能是优化sql语句,因为它的改造成本相对于代码来说也要小得多。那么,如何优化sql
美团面试官:可重复读隔离级别实现原理是什么?(一文搞懂MVCC机制)
可重复读隔离级别实现原理是什么?它和MVCC又有什么关系?什么是Read View?
注意!分页 + 模糊查询有坑!
前言不知道你有没有使用过Mysql的like语句,进行模糊查询?不知道你有没有将查询结果,进行分页处理?模糊查询,加上分页处理,会有意想不到的坑,不信我们继续往下看。我之前提供过一个品牌查询接口,给前端品牌选择控件使用的。当时为了性能考虑,怕前端控件因为一次性加载太多的品牌,而导致页面卡死
带你遨游银河系的 10 种分布式数据库
大家好,我是悟空。这次我们来聊下分布式场景下的数据库。首先我们还是来看下关系型和非关系型的数据库的区别和特点。一、关系型 vs 非关系型1.1 关系型1.1.1 什么是关系型?关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库,由二维表及其之间的联系所组成的一个数据组织。1.
为什么我建议在复杂但是性能关键的表上所有查询都加上 force index
最近,又遇到了慢 SQL,简单的看了下,又是因为 MySQL 本身优化器还有查询计划估计不准的问题。
性能优化 · MySQL常见SQL错误用法
今天给大家分享几个SQL常见的“坏毛病”及优化技巧
where field in(...) 是怎么执行的?
我们日常写 SQL 时,子查询应该算是常客了。MySQL 为子查询执行准备了各种优化策略,接下来我会写子查询各种优化策略是怎么执行的系列文章。本文以包含最简单的 in 条件的查询入手,介绍 where field in (8,18,88,…) 这种值都是常量的 in 条件是怎么执行的。这虽然不是
一次MySQL分页导致的事故
导语:线上的一个查询数据的接口被疯狂的失去理智般的调用,这个操作直接导致线上的MySql集群被拖慢了。对比日志发现,很多分页的时间是重叠的,对方应该是多线程调用。原来是客户端设置了分页,分页操作通常会使用limit加上偏移量的办法实现,同时再加上合适的order by子句。但这会出现一个常见问题:
长达 1.7 万字的 explain 关键字指南!
要让 SQL 又快又好的前提是,我们知道它「病」在哪里,而 explain 关键字就是 MySQL 提供给我们的一把武器!
从输入 SQL 到 MySQL 返回数据到底发生了什么?
导语当我们输入 SQL 到 MySQL 返回数据,这中间到底发生了什么呢?今天我们就来扒一扒这里面的细节。 正文SQL 执行流程其实一个 SQL 从输入到返回数据,其过程大致为:建立连接、分析 SQL、优化 SQL、执行 SQL。建立连接当我们发送 SQL 给 MySQL 之
SQL join 语句这样优化准没错!
导语面试最怕遇到的问题是什么,如何做优化一定当仁不让,SQL 优化更是首当其冲,本篇从干货角度教给大家SQL join语句的优化方法,如果你还不懂怎么优化,一定要阅读并背诵本篇! 正文Simple Nested-Loop Join我们来看一下当进行 join 操作时,mysql是
MySQL中这14个小玩意,让人眼前一亮!
大家好,我是苏三,又跟大家见面了。前言我最近几年用M
MySQL 不相关子查询怎么执行?
对于 where 条件包含子查询的 SQL,我们可以做一点优化,就是把这类 where 条件放在最后,让 MySQL 能够少做一点无用功,提升 SQL 执行效率。
SQL运行内幕:从执行原理看调优的本质
相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如:避免 select *;join字段走索引;慎用in和not in,用exists取代in;避免在where子句中对字段进行函数操作;尽量避免更新聚集索引;group by如果不需要排序,手
MySQL到底有没有解决幻读问题?
MySQL InnoDB引擎在Repeatable Read(可重复读)隔离级别下,到底有没有解决幻读的问题?网上众说纷纭,有的说解决了,有的说没解决,甚至有些大v的意见都无法达成统一。今天就深入剖析一下,彻底解决这个幻读的问题。解决幻读问题之前,先普及几个知识点。1. 并发事务产生的问题

有开始,就会有进​步!

在追求性能的道路上,记录每一刻的成长!源码解读,编程技巧,外文翻译,技术实践,线上案例等等,记录自己,启发他人!

专家作者推荐

巡山小汪

关注微信公众号《解Bug之路》,有问题请在公众号中咨询:) 无论多么艰苦的时刻,都不要忘记,辉煌的未来,在你的眼中闪耀!

飞哥开发内功

《深入理解Linux网络》作者,腾讯搜狗十年工程师,公众号「开发内功修炼」作者!

踩刀诗人

聊聊技术,唠唠段子,偶尔做菜写诗,欢迎关注我的公众号 踩刀诗人

Brand

搜索关注微信公众号【架构与思维】:撰稿者为bat、字节的几位高阶研发/架构,专注技术分享。

专题推荐

通过阅读 Redis 源码,可以学习和掌握到的计算机系统设计思想,redis 涉及的知识点有很多,本期专题我们由浅入深,简洁的给大家剖析Redis源码。
15篇文章26414阅读量
在日常Linux维护中,I/O性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到I/O。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避I/O瓶颈,从而提高系统性能。
 
本期给各位运维工程师带来的是网络I/O的性能调优,从I/O入门到问题排查与优化,希望对大家的平时的工作会有所帮助,也欢迎在下面留言你想了解的I/O的问题。
4篇文章9476阅读量