数据库
文章平均质量分 86
爱上布洛格的鸭鸭
这个作者很懒,什么都没留下…
展开
-
flyway简单入门【SpringBoo整合flyway】
flyway是比较常用的数据库版本控制管理工具,这里介绍了flyway的基本使用以及在项目场景下基于SpringBoot对其进行整合操作原创 2022-08-26 11:54:17 · 739 阅读 · 0 评论 -
MySQL的间隙锁问题
MySQL的间隙锁【Next-Key锁】什么是间隙锁间隙锁是一个在索引记录之间的间隙上的锁。其中间隙锁的使用就是为了保证某一个间隙内的数据在锁定情况下不发生任何的变化,例如MySQL的默认隔离级别为可重复读(RR),则其使用间隙锁的目的即是为了防止幻读。MySQL中的间隙锁场景我们假设有下面的场景:id作为主键,number字段上有一个非唯一索引的二级索引,那么此时哪些场景不能再插入number = 5的记录??答:只有我们保证number之前,number = 5现有记录之间,以及numbe原创 2021-09-24 15:34:12 · 620 阅读 · 2 评论 -
MVCC—多版本并发控制机制
MVCC—多版本并发控制机制文章目录MVCC—多版本并发控制机制一、简单理解MVCCMVCC实现方式MySQL中MVCC的具体实现Insert操作Select操作:Delete操作具体案例场景1:场景2:Update操作场景3:二、深入底层理解MVCCMVCC介绍MySQL InnoDB下的`当前读`和`快照读`当前读快照读当前读,快照读和MVCC的关系MVCC的好处MVCC的好处MVCC的实现原理隐藏字段undo日志案例说明:Read View(读视图)整体流程RR是如何在RC级的基础上解决不可重复读的原创 2021-09-24 15:32:28 · 212 阅读 · 1 评论 -
MySQl知识点梳理以及常见的Sql题总结
MySQl知识点梳理以及常见的Sql题总结文章目录MySQl知识点梳理以及常见的Sql题总结MySQL基本语法回顾SQL的语言分类DDL:数据库定义语言(主要对数据库,以及数据库的表进行创建,删除)DDL操作数据库DDL操作表DCL:数据库操纵语言(控制数据库访问权限)DML:数据库操作语言(主要是对表中数据进行增,删,改)举例:insert操作:DQL:数据库查询语言(主要对表中数据进行查询)SQL通用语法常见的数据类型delete和truncate的区别数据库的乱码问题SQL约束:主键约束:prima原创 2021-09-24 15:28:28 · 525 阅读 · 0 评论 -
MySQL面试知识点汇总
文章目录数据库基础知识部分为什么要使用数据库什么是SQL什么又是MySQL数据库的三大范式是什么Mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型Mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引的优点索引的缺点什么样的字段适合建索引索引的使用场景索引有哪几种类型?索引的数据结构(b树,hash)1)B树索引2)哈希索原创 2021-09-24 15:17:02 · 359 阅读 · 1 评论 -
一致性Hash算法
对于一致性Hash算法,我们先来了解一下Hash算法以及其使用的场景(分布式缓存场景),即目前我们服务器都是分布式部署的,假设现在有上万张的图片需要存储到我们的分布式缓存服务器中,此时我们希望这些图片尽可能均匀地分布在每一个服务器上,此时我们首先想到的是Hash算法。我们假如此时存在三台服务器A,B,C,我们对于需要存储的图片key进行hash算法求出对应的hash值,然后使用hash % 服务器数量(此时为3) 求出余数,即为我们需要存储的服务器的id:但是如果增加服务器的数量,由于此时服务器的增加原创 2021-08-16 15:48:53 · 130 阅读 · 0 评论