随笔分类 -  【数据库】-- MYSQL

1 2 下一页
MySQL大量脏数据,如何只保留最新的一条?
摘要:因为系统的一个Bug,导致数据库表中出现重复数据,需要做的是删除重复数据且只保留最新的一条数据。 具体场景是这样的 ``` 有张订单关联额外费用表,而且一个订单号(order_no)记录只能关联同一个费用(cost_id)一次,但是数据库中出现了同一个订单号关联同一个费用n次 ``` 当然有人会说上 阅读全文
posted @ 2023-04-20 20:47 雨点的名字 阅读(1178) 评论(1) 推荐(4) 编辑
order by 语句怎么优化?
摘要:说明 当前演示的数据库版本5.7 一、一个简单使用示例 先创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` int NOT NULL COMMENT '订单号', 阅读全文
posted @ 2023-01-29 09:03 雨点的名字 阅读(4636) 评论(7) 推荐(28) 编辑
group by 语句怎么优化?
摘要:一、一个简单使用示例 我这里创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `order_no` int NOT NULL COMMENT '订单号', `goods_id` int 阅读全文
posted @ 2023-01-17 09:19 雨点的名字 阅读(3302) 评论(0) 推荐(23) 编辑
MySQL join语句怎么优化?
摘要:在MySQL的实现中,Nested-Loop Join有3种实现的算法: 1、 Simple Nested-Loop Join:简单嵌套循环连接 2、 Block Nested-Loop Join:缓存块嵌套循环连接 3、 Index Nested-Loop Join:索引嵌套循环连接 MySQL 阅读全文
posted @ 2023-01-10 21:35 雨点的名字 阅读(2340) 评论(2) 推荐(8) 编辑
MySQL常用函数整理,建议收藏!
摘要:常见函数 字符串函数 数字函数 日期函数 聚合函数 流程控制函数 一、字符串函数 concat(s1,s2...,sn) --将s1,s2...,sn连接成字符串,如果该函数中的任何参数为 null,返回结果为 null concat_ws(sep,s1,s2...,sn) --将s1,s2..., 阅读全文
posted @ 2022-09-20 15:02 雨点的名字 阅读(1402) 评论(0) 推荐(2) 编辑
看一遍就懂:MVCC原理详解
摘要:MVCC实现原理也是一道非常高频的面试题,自己在整理这篇文章的时候,感觉到网上的资料在讲这块知识点上写的五花八门,好像大家的理解并没有一致。 这里将自己所理解的做一个总结,个人会觉得这是一篇含金量挺高的一篇文章(哈哈),所以请你坚持认真的看下去,一定会对你有收获。 如果文章中哪里没有理解,或者认为我 阅读全文
posted @ 2022-02-09 21:01 雨点的名字 阅读(7732) 评论(9) 推荐(13) 编辑
手把手教你分析解决MySQL死锁问题
摘要:在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生。 一、准备好相关数据和环境 当前自己的数据版本是8.0.22 mysql> select @@version; + + | @@version | + + | 8.0. 阅读全文
posted @ 2022-01-16 21:50 雨点的名字 阅读(9748) 评论(0) 推荐(6) 编辑
MySQL记录锁、间隙锁、临键锁小案例演示
摘要:生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。 有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章 一文详解MySQL的锁机制 这篇主要通过小案例来对记录锁、间隙(gap)锁、临键(next-ke 阅读全文
posted @ 2021-12-13 09:18 雨点的名字 阅读(2165) 评论(0) 推荐(3) 编辑
一文详解MySQL的锁机制
摘要:一、表级锁、行级锁、页级锁 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。 MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。 阅读全文
posted @ 2021-11-23 09:19 雨点的名字 阅读(4089) 评论(0) 推荐(4) 编辑
一文详解脏读、不可重复读、幻读
摘要:前言 在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。 MySQL 是支持多事务并发执行的。否则来一个事务处理一个请求,处理一个人请求的时候,其它事务都等着,那估计都没人敢用MySQL作为数据库,因为用户体验太差,估计都要砸键盘了。 阅读全文
posted @ 2021-11-17 09:13 雨点的名字 阅读(6295) 评论(3) 推荐(11) 编辑
MySQL(14)---Docker搭建MySQL主从复制(一主一从)
摘要:Docker搭建MySQL主从复制(一主一从) 上一篇博客写了MYSQL主从复制原理 : MySQL(13) MYSQL主从复制原理 这篇我们来写 Docker搭建MYSQL主从复制(一主一从) ## 一、Docker安装MYSQL 说明 系统为阿里云服务器,操作系统为CentOS7.6。MYSQL 阅读全文
posted @ 2020-12-08 22:53 雨点的名字 阅读(1689) 评论(0) 推荐(3) 编辑
MySQL(13)---MYSQL主从复制原理
摘要:MYSQL主从复制原理 最近在做项目的时候,因为部署了 MYSQL主从复制 所以在这里记录下整个过程。这里一共会分两篇博客来写: 1、Mysql主从复制原理 2、docker部署Mysql主从复制实战 这篇只写MYSQL主从复制原理。 一、概述 1、什么是主从复制? 概念 主从复制是用来建立一个和 阅读全文
posted @ 2020-12-04 02:00 雨点的名字 阅读(1294) 评论(1) 推荐(5) 编辑
MySQL(11)---约束
摘要:#MySQL(11) 约束 含义: 一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性。 先把Mysql几种约束列出来: 主键约束 外键约束 唯一性约束 非空约束 默认值约束 自增约束 MySQL不支持check约束,但可以使用check约束,而没有任何效果。 一、语法 不多说理论,说下 阅读全文
posted @ 2019-05-20 23:49 雨点的名字 阅读(539) 评论(0) 推荐(0) 编辑
MySQL(12)---纪录一次left join一对多关系而引起的BUG
摘要:MySQL(11) 纪录一次left join一对多关系而引起的bug BUG背景 我们有一个订单表 和 一个 物流表 它们通过 订单ID 进行一对一的关系绑定。但是由于物流表在保存订单信息的时候没有做判断该订单是否已经有物流信息, 这就变成同一个订单id在物流表中存在多条数据,也就变成了本来订单表 阅读全文
posted @ 2019-05-20 23:49 雨点的名字 阅读(47079) 评论(14) 推荐(10) 编辑
MySQL(10)---自定义函数
摘要:MySQL(10) 自定义函数 之前讲过存储过程,存储过程和自定义函数还是非常相似的,其它的可以认为和存储过程是一样的,比如含义,优点都可以按存储过程的优点来理解。 存储过程相关博客: 1、MySQL(7) 存储过程 2、MySQL(8) 游标 3、MySQL(9) 纪录一次实际开发过程中用到的复杂 阅读全文
posted @ 2019-05-07 20:14 雨点的名字 阅读(9760) 评论(0) 推荐(3) 编辑
MySQL(9)---纪录一次实际开发过程中用到的复杂存储过程
摘要:Mysql(9) 纪录一次实际开发过程中用到的复杂存储过程 为了尽可能的还原当时为什么需要用到存储过程,下面我写了个详细的文档,我们可以从需求文档出发来分析。 有关存储过程之前也写了两篇文章来做铺垫。 1、Mysql(7) 存储过程 2、Mysql(8) 游标 一、需求背景 一个服装类的app商城, 阅读全文
posted @ 2019-05-07 09:49 雨点的名字 阅读(2770) 评论(1) 推荐(3) 编辑
MySQL(8)---游标
摘要:Mysql(8)—游标 上一遍博客写了有关存储过程的语法知识 Mysql(7) 存储过程 游标或许你在工作中很少用到,但用不到不代表不去了解它,但你真正需要它来解决问题的时候,再花时间去学习很可能会影响你的工作进度。 注意:MySQL游标只能用于存储过程(和函数)。游标主要用于交互式应用。 一、概述 阅读全文
posted @ 2019-05-06 15:01 雨点的名字 阅读(3497) 评论(0) 推荐(4) 编辑
MySQL(7)---存储过程
摘要:Mysql(7) 存储过程 存储过程接下来会有三篇相关博客 第一篇存储过程常用语法。 第二篇存储过程中的游标。 第三篇单独讲一个实际开发过程中复杂的真实的案例。 ## 一、概述 1、什么是存储过程 概述:简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的 阅读全文
posted @ 2019-05-05 23:21 雨点的名字 阅读(2677) 评论(5) 推荐(8) 编辑
MySQL(6)---变量
摘要:MySQL(6)-变量 这里学习变量主要是为后面学习存储过程和函数做铺垫。 变量的分类 系统变量: 全局变量 会话变量 自定义变量: 用户变量 局部变量 一、系统变量 1、概述 说明:变量由系统定义,不是用户定义,属于服务器层面。 注意:全局变量需要添加global关键字,会话变量需要添加sessi 阅读全文
posted @ 2019-05-05 18:25 雨点的名字 阅读(682) 评论(0) 推荐(1) 编辑
MySQL(5)---锁
摘要:锁 一概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制。 MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁定。 MySQL大致可归纳为以下3种锁: 表级锁: 阅读全文
posted @ 2018-06-01 22:01 雨点的名字 阅读(802) 评论(0) 推荐(0) 编辑

1 2 下一页