9、怎么能避免写出慢SQL

你好,我是李玥。 通过上节课的案例,我们知道,一个慢SQL就可以直接让MySQL瘫痪。今天这节课,我们一起看一下,怎么才能避免写出危害数据库的慢SQL。 所谓慢SQL,就是执行特别慢的SQL语句。什么样的SQL语句是慢SQL?多慢才算是慢SQL?并没...

后端存储实战课

10、走进黑盒:SQL是如何在数据库中执行的?

你好,我是李玥。 上一节课我们讲了怎么来避免写出慢SQL,课后我给你留了一道思考题:在下面这两个SQL中,为什么第一个SQL在执行的时候无法命中索引呢? 123SELECT * FROM user WHERE left(department_code...

后端存储实战课

11、MySQL如何应对高并发(一):使用缓存保护MySQL

你好,我是李玥。 通过前面几节课的学习,相信你对MySQL这类关系型数据库的能力,已经有了定量的认知。 我们知道,大部分面向公众用户的互联网系统,它的并发请求数量是和在线用户数量正相关的,而MySQL能承担的并发读写的量是有上限的,当系统的在线用户超...

后端存储实战课

12、MySQL如何应对高并发(二):读写分离

你好,我是李玥。 上节课我和你讲了,使用Redis作为MySQL的前置缓存,可以帮助MySQL挡住绝大部分的查询请求。这种方法对于像电商中的商品系统、搜索系统这类与用户关联不大的系统,效果特别的好。因为在这些系统中,每个人看到的内容都是一样的,也就是...

后端存储实战课

13、MySQL主从数据库同步是如何实现的?

你好,我是李玥。 回顾我们之前讲MySQL相关的几节课程,你会发现主从同步有多重要。解决数据可靠性的问题需要用到主从同步;解决MySQL服务高可用要用到主从同步;应对高并发的时候,还是要用到主从同步。 我们在运维MySQL集群时,遇到的很多常见的问题...

后端存储实战课

14、订单数据越来越多,数据库越来越慢该怎么办?

你好,我是李玥。 在前面几节课,我们一起学习了在并发持续高速增长的情况下,如何来逐步升级存储。今天这节课我们来聊一聊,如何应对数据的持续增长,特别是像订单数据这种会随着时间一直累积的数据。 为什么数据量越大数据库就越慢?你得理解这里面的根本原因。 我...

后端存储实战课

15、MySQL存储海量数据的最后一招:分库分表

你好,我是李玥。 从这节课开始,我们课程将进入最后一部分“海量数据篇”,这节课也是我们最后一节主要讲MySQL的课程。解决海量数据的问题,必须要用到分布式的存储集群,因为MySQL本质上是一个单机数据库,所以很多场景下不是太适合存TB级别以上的数据。...

后端存储实战课

16、用Redis构建缓存集群的最佳实践有哪些?

你好,我是李玥。 之前连续几节课,我们都在以MySQL为例子,讲如何应对海量数据,如何应对高并发,如何实现高可用,我先带你简单复习一下。 数据量太大查询慢怎么办?存档历史数据或者分库分表,这是数据分片。 并发太高扛不住怎么办?读写分离,这是增加实例...

后端存储实战课

17、大厂都是怎么做MySQL to Redis同步的?

你好,我是李玥。 之前我们在《[11 | MySQL如何应对高并发(一):使用缓存保护MySQL]》这一节课中,讲到了Read/Write Through和Cache Aside这几种更新缓存的策略,这几种策略都存在缓存穿透的可能,如果缓存...

后端存储实战课

18、分布式存储:你知道对象存储是如何保存图片文件的吗?

你好,我是李玥。 我们都知道,保存像图片、音视频这类大文件,最佳的选择就是对象存储。对象存储不仅有很好的大文件读写性能,还可以通过水平扩展实现近乎无限的容量,并且可以兼顾服务高可用、数据高可靠这些特性。 对象存储之所以能做到这么“全能”,最主要的原因...

后端存储实战课