数据库技术

写这篇文章是因为之前有一次删库操作,需要进行批量删除数据,当时没有控制好删除速度,导致产生了主从延迟,出现了一点小事故。 今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。 坐好了,准备发车! – 思维导图 – 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之衍生了出来。 在生产环境中,常见的主从架构有很多种,在

2022-10-27  371
数据库技术

什么是索引 索引又可以称为键(key)是存储引擎用于快速找到记录的一种数据结构。 索引是提高MySQL查询性能最有效的手段,我们常说的MySQL性能调优基本都是对索引的优化。所以这是每个开发需要掌握并会应用的知识点。 索引是一种数据结构,它也是存储在磁盘的一个文件。上一篇我们学习MySQL的逻辑架构的时候了解了InnoDB和MyISM存储引擎,InnoDB存储引擎索引和数据是同一个文件,MyISAM索引和数据是两个独立的文件。 在MyS

2022-10-27  365
数据库技术

在MySQL性能调优的时候explain是必须要使用的关键字,它的作用是可以查看sql语句的执行信息,包括表的读取顺序,应用到的索引等信息。 用法:explain + sql语句。 本篇我们先熟悉explain的内容,为下篇学习索引奠定基础。 explain内容 查看user全表查询的执行计划: mysql>explainselect*fromuser; id id表示select查询语句的执行顺序或者是操作表的执行顺序。 i

2022-10-27  365
数据库技术
数据库技术

图片来自 Pexels 突然电话响了起来,一看是我们的一个开发同学,顿时紧张了起来,本周的版本已经发布过了,这时候打电话一般来说是线上出问题了。 果然,沟通的情况是线上的一个查询数据的接口被疯狂的失去理智般的调用,这个操作直接导致线上的 MySQL 集群被拖慢了。 好吧,这问题算是严重了,下了地铁匆匆赶到家,开电脑,跟同事把 Pinpoint 上的慢查询日志捞出来。 看到一个很奇怪的查询,如下: POSTdomain/v1.0/modu

2022-10-27  356
数据库技术

前言 上次咱们简单的学习了一下select的用法,一篇文章教会你进行Mysql数据库和数据表的基本操作,对数据库大概有了一些基本的了解。 咱们接着上次继续来看叭! 查询 数据如下 or查询 我们在上学时,会听到这样的话,某某某,你把谁谁谁或者谁谁谁叫过来。 这样子的话,我们我们要查询的,就是一个或(or)的关系了。 or查询只有满足一个条件即可 sql --语法 SELECT*fromstudentWHERE<条件>or&

2022-10-27  364
数据库技术

前言 上次咱们简单的学习了一下select的用法,对数据库大概有了一些基本的了解。 咱们接着上次继续来看叭! 查询 数据如下 or查询 我们在上学时,会听到这样的话,某某某,你把谁谁谁或者谁谁谁叫过来。 这样子的话,我们我们要查询的,就是一个或(or)的关系了。 or查询只有满足一个条件即可 sql --语法 SELECT*fromstudentWHERE<条件>or<条件>...; --例如,查询姓名为张三的

2022-10-27  382
数据库技术

前言 相信有经验的同学都清楚,当db的读写量过高时,我们会备份一份或多份的从库用于做数据的读取,然后主库就主要承担写入的功能(也有读取需要,但压力不大),当db分好主从库后,我们还需要在项目实现自动连接主从库,达到读写分离的效果。实现读写分离并不困难,只要在数据库连接池手动控制好对应的db服务地址即可,但那样就会侵入业务代码,而且一个项目操作数据库的地方可能很多,如果都手动控制的话无疑会是很大的工作量,对此,我们有必要改造出一套方便的工

2022-10-27  359
数据库技术
数据库技术

与其他数据库相比,MySQL并不是完美的,却是足够灵活,能够适应高要求的环境。在开发中,MySQL是勾勾在项目中的首选数据库。为了更好的应用MySQL,充分发挥它的性能,就必须要理解它的设计。从这篇文章开始,我们就开始学习MySQL数据库的基础知识。 如果想要更深入的理解MySQL服务器,那么首当其冲应该掌握的是MySQL的逻辑架构,了解其各个模块之间是如何协同工作的。 下图是官网的逻辑架构图: 我们把上面的图简化一下,就有了如下所示

2022-10-27  340