• 欢迎来到我的博客
  • [email protected]

标签:mysql

学习笔记

Mysql collation(排序规则)

Mysql collation(排序规则)
针对对象 单个列 组成 编码集_字符集_是否区分大小写,例如 utf8mb4_unicode_ci utf8mb4_unicode_ci 与 utf8mb4_general_ci utf8mb4_unicode_ci是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序 utf8mb4_general_ci没有实现Unicode排序规则,在遇到……继续阅读 »

tianlan 7个月前 (04-24) 249浏览 0评论 0个赞

学习笔记

Mysql 间隙锁、next-key lock

Mysql 间隙锁、next-key lock
数据库内容 表 t id(主键) c(普通索引) d(无索引) 5 5 5 10 10 10 15 15 15 20 20 20 25 25 25 基本概念 间隙锁 间隙锁是事务隔离级别为 可重复读 的条件下的东西 间隙锁是加在主键上的 间隙锁是用来解决幻读问题的 -- 以下代码会上间隙锁 (5,10) -- 上锁后……继续阅读 »

tianlan 7个月前 (04-21) 256浏览 0评论 0个赞

学习笔记

Mysql 运算符:<=>

Mysql 运算符:<=>
前言 <=> 这个操作符比较少用,以至于上次我看到他都不知道其作用。所以记录一下。 描述 <=> 严格比较两个NULL值是否相等 备注 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 参考 https://m.runoob.com/mysql/mysql-operator.html   ……继续阅读 »

tianlan 7个月前 (04-19) 206浏览 0评论 0个赞

学习笔记

Mysql:hash 索引

Mysql:hash 索引
引言 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引;而Mermory默认的索引是Hash索引。 hash 索引的优点 所谓Hash索引,当我们要给某张表某列增加索引时,将这张表的这一列进行哈希算法计算,得到哈希值,排序在哈希数组上。所以Hash索引可以一次定位,其效率很高,而Btree索引需要经过多次的磁盘IO,但是i……继续阅读 »

tianlan 7个月前 (04-19) 190浏览 0评论 0个赞

学习笔记

mysql 联合索引数据结构示意图,最左前缀原理

mysql 联合索引数据结构示意图,最左前缀原理
联合索引示意图 最左前缀原理 通过上图我们可以发现,联合索引和单列索引差不多,只不过联合索引存储的关键字包含了多个列。 最左前缀原理:联合索引的排序是有优先级的,越在左边的列,优先级越高,如上图所示: 会优先按照数字排序,在数字相等时,会根据字母进行排序。 ……继续阅读 »

tianlan 8个月前 (04-17) 153浏览 0评论 0个赞

学习笔记

mysql数据库-MyISAM与InnoDB两个存储引擎的索引实现方式

mysql数据库-MyISAM与InnoDB两个存储引擎的索引实现方式
MyISAM 主键索引(主索引) 辅助索引(Secondary key) 在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的,而辅助索引的key可以重复 InnoDB 主键索引 MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB中,表数据文件本身就是按B+T……继续阅读 »

tianlan 8个月前 (04-16) 178浏览 0评论 1个赞

学习笔记

Mysql 索引原理:B树、B+树、B*树

Mysql 索引原理:B树、B+树、B*树
B树(B-tree) 注意:B-树和B树是同一个东西。 B树和平衡二叉树稍有不同的是,B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用者B树和B+树的数据结构,让我们来看看他有什么特点。 B树性质 (1)排序方式:所有节点关键字是按递增次序排列,并遵循左小右大原则; (2)子节点数:非叶节点的子节点数>1,且<=M ……继续阅读 »

tianlan 8个月前 (04-14) 181浏览 0评论 0个赞

学习笔记

Mysql 死锁

Mysql 死锁
是什么 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方占用的资源,从而导致恶性循环。 检测死锁 数据库系统实现了各种死锁检测和死锁超时的机制。InnoDB存储引擎能检测到死锁的循环依赖并立即返回一个错误。 死锁恢复 死锁发生以后,只有部分或完全回滚其中一个事务,才能打破死锁,InnoDB目前处理死锁的方法是,将持有最少行级排他锁的事务进行回滚。……继续阅读 »

tianlan 8个月前 (04-12) 228浏览 0评论 0个赞

学习笔记

Mysql 外键

Mysql 外键
引入 外键表示一个表中的字段被另一个表中的一个字段引用。外键对相关表中的数据造成了限制,使MySQL能够保持参照完整性。 比如学生和班级表,学生表完全依赖班级表,我们可以通过外键约束让学生表与班级表产生关联,当班级表数据变化时影响学生表。 父表和子表储存引擎要一致 使用InnoDB引擎支持外键约束 外键更与主表列类型一致 外键列使用索引(数据库会自动添……继续阅读 »

tianlan 8个月前 (04-11) 184浏览 0评论 0个赞

学习笔记

Mysql 索引 & 索引优化

Mysql 索引 & 索引优化
优势 & 劣势 虽然索引大大提高了查询速度,同时却会降低更新表的速度。 索引和约束的区别 约束是为了保证表数据的完整性,索引是为了提高查询效率,两者作用不一样!其次种类也不一样。 Mysql 每次查询最多只会运用一个索引 所以需要合理建立联合索引 尽量扩展索引,而不要新建索引 外键索引可以 nullable 在 Laravel 社区学习的时候 ……继续阅读 »

tianlan 8个月前 (04-11) 177浏览 0评论 0个赞