收藏:一些比较好的Redis 性能优化思路总结
在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系[2],都存储在 Redis 中,大量的查询击中 Redis
15个必知的Mysql索引失效场景,别再踩坑了!
背景无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库不走索引的坑。常见的现象就是:明明在字段上添加了索引,但却并未生效。前些天就遇到一个稍微特殊的场景,同一条SQL语句,在某些参数下生效,在某些参数下不生效,这是为什么呢?另外,无论是面试或是日常,Mysql索引失效的通常情况都
为什么mysql的count()方法这么慢?
兄弟们。浅浅的炫个富吧。说出来你们可能不信。手机你们有吗?我有。短信,知道吧?一条一毛钱,我天天发。你敢想吗?所以说,年轻人,有钱是真的好。今天,我们就以短信为话题聊起。短信,它又叫SMS。 比如说,你有一张短信表(sms),里面放了各种需要发送的短信信息。s
慢查询性能优化实践
项目组接到两家客户反馈,部分生产统计报表查询缓慢,甚至某些报表无法查询出1个月的统计数据。
如何写出高性能 SQL 语句?
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认
【译】SQL性能优化:关于查找慢查询的几种方法分享
SQL Server的查询运行太慢了,以至于大家都不太喜欢,介绍几种方法可以快速跟踪它们,以便处理这些查询!
数据库性能实战干货!MySQL 高可用架构实践
你好,我是悟空。业界流传一句话:没有做过运维的程序员不是好架构师。不知是真是假。前言对于 MySQL 数据库作为各个业务系统的存储介质,在系统中承担着非常重要的职责,如果数据库崩了,那么对于读和写数据库的操作都会受到影响。如果不能迅速恢复,对业务的影响是非常大的。之前 B 站不是出过
【全网首发】数据库系列:覆盖索引和避免回表
1 介绍在MySQL数据库查询过程中,索引覆盖和避免不必要的回表,是减少检索步骤,提高执行效率的有效手段。下面从这两个角度分析如何进行MySQL检索提效。2 数据准备模拟一个500w数据容量的部门表 emp,表结构如下,并通过工具模拟500w的数据:CREATE TABLE `emp` (
16条MySQL使用规范,减少MySQL80%问题!
上篇文章介绍了如何创建合适的MySQL索引,今天再一块学一下如何更规范、更合理的使用MySQL?合理规范的使用MySQL,可以大大减少开发工作量和线上问题,并提升SQL查询性能。我精心总结了这16条MySQL规约,分享给大家,欢迎评论指正。1. 禁止使用select *阿里开发规范中,有这
【译】为什么我的数据库很慢,10 个查询反而比 1 个查询更快?
在 Ufonia,我们最近解决了一个数据库性能问题,该解决方案起初似乎违反直觉,但对于复杂的现实世界数据模型来说却是一项必不可少的技术。这是我们如何做到的。对于许多学习 UI、API 和数据模型的软件工程师来说,构建待办事项应用程序或 Twitter 克隆是一种通行仪式。首先构建一个看起来像
​Mysql数据库查询好慢,除了索引,还能因为什么?
 我熟练应用ctrl c和ctrl v 开发curd代码好多年了。mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?有哪些操作,可以提升mysq
MySQL 连接怎么保活?
多年前开发过一个异步发送订单短信、邮件通知的守护程序,每次程序启动时会创建数据库连接,后续读写数据库操作就一直复用这个连接。某一天,用户反馈下单后收不到通知了,我们登录服务器看到程序还在运行。经过排查确认,发生问题的这天,距离上一次有用户下单超过了 8 小时,MySQL 服务端已经自动断开连接了
MySQL查询性能优化七种武器之索引潜水
有读者可能会一脸懵逼?啥是索引潜水?你给起的名字的吗?有没有索引蛙泳?这个名字还真不是我起的,今天要讲的知识点就叫索引潜水(Index dive)。先要从一件怪事说起:我先造点数据复现一下问题,创建一张用户表:CREATE TABLE `user` ( `id` bigint(20)
我又和redis超时杠上了
经过上次redis超时排查一次redis超时排查经历,并联系云服务商解决之后,redis超时的现象好了一阵子,但是最近又有超时现象报出,但与上次不同的是,这次超时的现象发生在业务高峰期,在简单看过服务器的各项指标以后~
性能优化 · MySQL常见SQL错误用法
今天给大家分享几个SQL常见的“坏毛病”及优化技巧
后端思维之数据库性能优化方案
1、前言毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。如果我们有一套成熟的方法论,能让大家快速、准确的去选择出合适的优化方案,我相信能够快速准备解决咱么日常遇到的80%甚至90%的性能问题。从解决问题的角度出发,我们得先
where field in(...) 是怎么执行的?
我们日常写 SQL 时,子查询应该算是常客了。MySQL 为子查询执行准备了各种优化策略,接下来我会写子查询各种优化策略是怎么执行的系列文章。本文以包含最简单的 in 条件的查询入手,介绍 where field in (8,18,88,…) 这种值都是常量的 in 条件是怎么执行的。这虽然不是
长达 1.7 万字的 explain 关键字指南!
要让 SQL 又快又好的前提是,我们知道它「病」在哪里,而 explain 关键字就是 MySQL 提供给我们的一把武器!
分库分表经典15连问
前言大家好,我是田螺。我们去面试的时候,几乎都会被问到分库分表。田螺哥整理了分库分表的15道经典面试题,大家看完肯定会有帮助的。1.我们为什么需要分库分表在分库分表之前,就需要考虑为什么需要拆分。我们做一件事,肯定是有充分理由的。所以得想好分库分表的理由是什么。我们现在就从两个维度去思考它
原来count(*)是接口性能差的真凶
大家好,我是苏三,又跟大家见面了。前言最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。通常情况下,分页接口一般会查询
【译】比较缓存数据库Redis与MongoDB的性能
这篇文章中,我们将比较两个最流行的NoSQL 数据库:Redis 和 MongoDB(Percona内存存储引擎),看看优劣,还有性能对比。
因为一条诡异的 insert 语句引起的Mysql问题分析及排查过程!
导语Mysql优化是各位工程师日常经常遇到的问题,本篇是一篇非常简单的mysql优化过程,着重介绍的是排查过程,优化方案一笔带过,非常适合初级开发者阅读! 正文问题背景有同事反馈在mysql上面执行一条普通的insert语句,结果报错,execute failed due to
SQL性能分析
监控有个全局监控的概念,通过全局监控能够知道目前集群或服务器的好坏情况,有了全局监控,再去考虑定点监控,对造成性能下降的具体原因进行分析,有可能是慢查询,也有可能是磁盘问题。全局监控分为两大类:指标信息和日志信息,指标信息指标信息是指普通服务器上面所监控到的一些硬件指标:cpu、内存、磁盘的i
SQL运行内幕:从执行原理看调优的本质
相信大家看过无数的MySQL调优经验贴了,会告诉你各种调优手段,如:避免 select *;join字段走索引;慎用in和not in,用exists取代in;避免在where子句中对字段进行函数操作;尽量避免更新聚集索引;group by如果不需要排序,手
count(*)查询性能很差?用这5招轻松优化
大家好,我是苏三,又跟大家见面了。前言最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。通常情况下,分页接口一般会查询
关于MySQL中覆盖索引的性能问题
覆盖索引是提高 SQL 性能的优化之一。要了解覆盖索引,需要了解 MySQL 中索引的物理结构。📌 B+树InnoDB 索引是 B+Tree 数据结构,空间索引除外。(InnoDB 是 MySQL 中的通用存储引擎。)B+Tree是B-Tree的扩展;允许搜索、顺序访问、
数据库系列1:高并发下的数据字段变更
1 背景经常会遇到这种情况,我们的业务已经稳定地运行一段时间了,并且流量渐渐已经上去了。这时候,却因为某些原因(比如功能调整或者业务扩展),你需要对数据表进行调整,加字段 or 修改表结构。可能很多人说 alter table add column ... / alter table modif
MySQL查询性能优化七种武器之链路追踪
MySQL优化器可以生成Explain执行计划,我们可以通过执行计划查看是否使用了索引,使用了哪种索引?但是到底为什么会使用这个索引,我们却无从得知。好在MySQL提供了一个好用的工具 — optimizer trace(优化器追踪),可以帮助我们查看优化器生成执行计划的整个过程,以及做出的各种
百万数据excel导出功能如何实现?
我们要如何才能解决这些问题,实现一个百万级别的excel数据快速导出功能呢?

有开始,就会有进​步!

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

专家作者推荐

巡山小汪

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

飞哥开发内功

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

踩刀诗人

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

Brand

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

专题推荐

本系列文章主要针对Dubbo2.6.2(dubbox2.8.4)版本,从源码的角度分析Dubbo内部的实现细节,加深对Dubbo的各配置参数底层实现原理的理解,更好的指导Dubbo实践。
11篇文章14468阅读量
GC(Garbage Collection)很大程度上帮助Java程序员解决了内存释放的问题,有了GC,就不需要再手动的去控制内存的释放。
12篇文章30275阅读量