InnoDB 事务隔离级别

InnoDB 事务模型

InnoDB 事务模型的目标是联合数据库多视图属性与传统的多阶段锁。InnoDB 类似 Oracle ,其执行锁到行级别,同时默认执行查询不加锁并保持一致性读。InnoDB 锁数据存储空间效率高,不随锁数量增加而剧增。锁表全行也不用担心 InnoDB 内存耗尽。

InnoDB

官方文档

美团文档

查看Innodb引擎数据

.1. Locking Readings

锁读

.2. 并发写问题

CSDN

  • 在并发写同一行数据时,如果 where 条件字段没有加索引,innoDB 会对所有行加行锁,再对条件进行筛选,不符合条件的行再释放锁。一锁一放损耗极大,所以建议适当添加索引。
  • 在可重复读隔离级别下,InnoDB 加间隙锁可以防止幻读,同理,如果没有索引将会把所在行之外所有列都加上间隙锁,而导致范围外的行也需要阻塞到当前锁释放才能插入。
  • 意向锁是表锁,只用来表示该表有没行正被锁住,而以免有行被锁住时想要加表锁修改表结构,需要每行查询是否有行锁。

Shell

.1. vim 编辑器命令行

以下命令是在编辑整个文件时(未进入到文件编辑内部时)进行行操作。

Hash

Shell 是一个可以执行命令/程序/shell 脚本的环境,提供了访问 Unix 系统的接口。其根据输入执行程序,执行完成后将结果展示出来。 Shell

Java Jar

java archive

  • 使用 jdk 自带工具 javac 编译 java 文件成 class 字节码,再用打包命令 java jar cfmv jar-name manifest-file class-files

Key Words in Java

.1. transient【瞬时】

用以序列化、反序列化时所排除的变量,在进行序列化、反序列化时 transient 修辞的变量将不被序列化、反序列化。

  • 与 final 连用,final 修辞字段值会直接被序列化,因此 transient 修辞 final 字段无效
  • 与 static 连用,static 字段非对象所拥有,所以 transient 修辞的 static 字段无效。

URI in Java

URI syntax and components URI 语法与组件

At the highest level a URI reference (hereinafter simply “URI”) in string form has the syntax [scheme:]scheme-specific-part[#fragment]