SQL MVCC
MVCC
MVCC是Multi Version Concurrency Control的简称,代表多版本并发控制。
为什么需要MVCC,还要从数据库事务的ACID特性说起。
相信很多朋友都了解ACID,它们分别代表了Atomicity(原子性), Consistency(一致性), Isolation(隔离性), Durability(持久性)。
各种数据库厂商会对各个隔离级别进行实...
2018-08-31 05:44:07 |
SQL
Java Static
java static
代码块
静态代码块:用 staitc 声明,jvm 加载类时执行,仅执行一次
构造代码块:类中直接用 {} 定义,每一次创建对象时执行。
执行顺序优先级:静态块, main(), 构造块, 构造方法。
静态代码块
代码
static{}
特性
它是随着类的加载而执行,只执行一次,并优先于主函数。
具体说,静态代码块是由类调用的。类调用时,先执行静...
2018-08-30 05:21:33 |
Java
SQLProxy
ProxySQL
ProxySQL is High-performance MySQL proxy with a GPL license.
特性
Query caching
忘记那些无法有效地反复访问相同结果而产生负载的应用程序。ProxySQL很快就加入了它的高级规则引擎。结果也可以缓存为一个可配置的timespan,以原生MySQL数据包格式。
Query Rou...
2018-08-30 02:59:31 |
SQL
SQL Isolation
数据库隔离性
概念
事务隔离级别是数据库事务处理的基础,ACID 中 I,即 Isolation,指的就是事务的隔离性。
隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。
sql 92 标准
sql 92 标准定义了 4 种隔离级别,读未提交、读已提交、可重复读、串行化,见下表。
ANSI SQL 隔离...
2018-08-30 01:22:17 |
SQL
SQL Charset
场景
mysql 中文报错,如下:
Incorrect string value: '\xF0\xA0\xBA\x98\xE5\x8F...' for column 'title' at row 1
常用命令
查看
SHOW VARIABLES LIKE 'character%'
修改
SET character_set_client = utf8mb4 ;...
2018-08-28 17:07:21 |
SQL
GraphQL
GraphQL
GraphQL 是一种开放源码的数据查询和操作语言,以及一个用于使用现有数据完成查询的运行时。
GraphQL于2012年由Facebook内部开发,2015年公开发布。
它提供了一种更高效、更强大和更灵活的替代REST和特别web服务体系结构的方法。允许客户机定义所需数据的结构,并且从服务器返回的数据结构完全相同,因此可以防止返回过多的数据。
GraphQL支持读取...
2018-08-28 01:55:16 |
SQL
SQL Join
SQL Join
也许你写了几年的 sql join,但是比如我,就没有认真的看过,join 时到底发生了什么。
概念
SQL连接是一种结构化查询语言(SQL)指令,用于组合来自两组数据(即两个表)的数据。
在深入了解SQL连接的细节之前,让我们简要讨论一下SQL是什么,以及为什么有人要执行SQL连接。
SQL是一种特殊用途的编程语言,用于管理关系数据库管理系统(RDBMS)中的信...
2018-08-28 00:59:41 |
SQL
Slf4j-02-slf4j 与 logback 整合
目的
整合 slf4j 与 logback。
快速开始
maven 依赖
添加依赖包logback使用需要和slf4j一起使用,所以总共需要添加依赖的包有slf4j-api
logback使用需要和slf4j一起使用,所以总共需要添加依赖的包有slf4j-api.jar,logback-core.jar,logback-classic.jar,logback-access.jar这...
2018-08-27 13:49:53 |
Java