MySQL

SQL开发知识:详解Mysql索引的前缀原则

前言 之所以有这个最左前缀索引 归根结底是mysql的数据库结构 B+树 在实际问题中 比如 索引index (a,b,c)有三个字段, 使用查询语句select * from table where c = '1' ,sql语句不会走...

如何利用JuiceFS使MySQL 备份验证性能提升

总结 前言: JuiceFS 非常适合用来做 MySQL 物理备份,具体使用参考官方文档。在测试时,备份验证的数据准备(xtrabackup –prepare)过程非常慢。我们借助 JuiceFS 提供的性能分析工具做了分析,快速发现性能瓶颈,...

Mysql数据库单库迁移的操作方法

为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神往的城堡。 生产环境中,有以下情况需要做迁移工...

如何使用canal监控mysql数据库实现elasticsearch索引实时更新

业务场景 使用elasticsearch作为全文搜索引擎,对标题、内容等,实现智能搜索、输入提示、拼音搜索等 elasticsearch索引与数据库数据不一致,导致搜索到不应被搜到的结果,或者搜不到已有数据 索引相关业务,影响其他业务操作,如索引删除失败导...

带你深入分析MySQL重做日志 redo /log

二、缓存、磁盘结构 在事务的ACID特性中,原子性(A)、一致性(C)、持久性(D)由undo log和redo log实现,隔离性(I)由锁+MVCC实现 undo log:事务还没有commit,中途执行异常,可以使用undo log把数据恢复到事务执...

MySQL开发知识:最新MySQL高级SQL语句大全

引言 对MySQL数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。例如只取10条数据、对查询结果进行排序或分组等等。 一、常用查询 1、order by按关键字排序 使用SELECT语句可以将需要的数据从MySQL数据库中查询出来,如果对...

MySQL数据库开发:MySql 查询符合条件的最新数据行

平时做业务,经常是需要查什么什么什么的最新的一条数据。 那至于最新这个概念, 对于产品来说,经常会说的是 时间顺序,最新也就是 最近的意思。 结合示例: 这是一张记录人员来访的记录表。数据表里的数据准确记录了每个人来访时带的帽子颜色、时间、人员编码(每个人...

关于postgresql 删除重复数据的几种方法介绍

在使用PG数据库的这段时间,总结了三种删除重复数据的方法,其中最容易想到的就是最常规的删除方法,但此方法性能较差,删数据耗时较久,虽容易实现,但性能太差,影响写数据的速率。 另外就是被使用的group by删除方法,效率较高。 还有一种是刚发现的,还没有验...

SQL开发知识:MySQL实现批量更新不同表中的数据

批量更新不同表的数据 今天翻到以前写的批量更新表中的数据的存储过程,故在此做一下记录。 当时MySQL中的表名具有如下特征,即根据需求将业务表类型分为了公有、私有和临时三种类型,即不同的业务对应三张表,而所做的是区分出是什么类型(公有、私有、临时)的业务表...

关于MySQL数据库表被锁、解锁以及删除事务详解

背景 在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读写分离,结果就是:数据库的某张表被锁了! 用户反馈系统部分功能无法使用,紧急排查,定位是数据库表被锁,然后进行紧急...