Docker - 容器化
三月是被docker打动的一个月。 docker碎碎念 monica docker数据copy docker network DailyTxT portainer docker socket 升级portainer v2ray docker contai...
三月是被docker打动的一个月。 docker碎碎念 monica docker数据copy docker network DailyTxT portainer docker socket 升级portainer v2ray docker contai...
最近set timestamp的值,栽了一波跟头┓( ´∀` )┏ mysql的时间类型就和Java的时间类型一样,看起来好像不是很重要,但是如果你不了解它,就会处处被绊。而由于mysql的一种类型不可能呈现出Java那么多的接口,所以更需要好好了解一些背景知识。 类型 奇怪的默认行为 赋值方式 表示的时间范围不同 保留毫秒 是否时区相关 时区 ...
使用h2做测试很常用,也很简单。不过使用h2写demo也很方便,这种情况下,就需要了解更多h2相关的内容。 依赖 URL 存储形式 模式 Embedded mode embeded + in memory embeded + 文件 server mode...
虽然之前也了解过NIO的原理,但是涉及到select、epoll还是有点儿不够理解,时间一长又忘了。这次看到一篇非常好的文章: 《你管这破玩意叫 IO 多路复用?》 算是彻底解决了内心的疑惑!跟着梳理一下,顺便对比着看一下之前写的记录。 阻塞io - read 伪非阻塞 - 多线程 真正的非阻塞read() - 第一阶段非阻塞 伪多路复用 - 轮询 真正的多...
终于开始聊事务了。 所谓事务 原子性Atomicity:单个事务要做的 持久性Durability:单个事务要做的 隔离性Isolation:事务之间不能相互影响 一致性Consistency:最终想达到的状态 事务语法 autocomit redo log:为了提升性能的同时保证一致...
Innodb以磁盘作为存储介质,所以用的时候需要加载到内存。Innodb管理数据的基本单位是页,每次都加载一页数据到内存里。 innodb按页加载数据,是为了读下一条数据的时候能够直接从内存里的同一页取,而不用再次从磁盘取,减少一次磁盘IO。同样的思想,innodb如果能在内存中放很多个页,就能减少很多从磁盘加载页的IO开销。理想情况下,如果内存足够大,能放下所有表的所有索引的所有页,取数...
Innodb - 行组成Innodb - 页,页组成了innodb的表。页是innodb管理存储空间的基本单位,但是表才是逻辑上对一堆相同结构的数据管理的基本单位。 表遍历的性能问题 区(extent) 段(segment) 碎片区(fragment) 段链表 表的物理存储 mysql的数据存放位置 连接mysql ...
在Innodb - 页中,介绍了页内行记录的排列方式——类似于一个拥有一层目录的跳表,可以加速行的定位。既然现在页与页之间也构成了双向链表,那么类比页内跳表,可以在页与页之间构建一个页间跳表,以加速页的定位。 有序是前提 索引 再来一页 再来一层 那它为什么不叫跳表? 层级意味着IO次数 ...
之前介绍了Innodb - 行,行是一种紧凑存放列值的结构,而行是放在页page里的。 行怎么在页内排列 物理上按插入顺序排列 逻辑上按主键序排列 有序链表的查询 metadata tailer header 行组成页,页是innodb管理存储空间的基本单位。 这一点非常好理解,和虚拟内存使用页式管理一模一样。当需...
Innodb给使用者的抽象,大致就是表,每个表有很多行,每个行可能有很多列。 COMPACT 怎么存储列数据 列定界 null值 metadata 隐藏列 语法 一行是怎么存储的?逻辑上,它拥有多个格子分别代表多个列,实际上,它是一堆非常紧凑的二进制。 innodb有好几种存储行的方案: ...