内容简介:最上层是连接处理,网络认证等功能;第二层是查询优化,分析,优化,缓存,以及SQL内置函数的实现、跨存储引擎的操作 例如视图,存储过程等的实现;第三层就是各个不同的存储引擎,存储引擎提供一些基础的函数实现供上层调用。MySQL会使用线程池缓存建立的线程,每个连接对应一个线程。
最上层是连接处理,网络认证等功能;第二层是查询优化,分析,优化,缓存,以及 SQL 内置函数的实现、跨存储引擎的操作 例如视图,存储过程等的实现;第三层就是各个不同的存储引擎,存储引擎提供一些基础的函数实现供上层调用。
MySQL会使用线程池缓存建立的线程,每个连接对应一个线程。
-
并发控制
- 读写锁
- 表锁
- 行锁
事务,ACID。
隔离级别:
- 未提交读 - 已提交读 - 可重复读 - 串行
事务:
事务日志可以帮助提高事务的效率。使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,再把该修改行为记录到持久 在硬盘上的事务日志中,而不用每次都将修改的数据本身持久到磁盘。事务日志采用的是追加的方式,因此写日志的操作是磁盘上 一小块区域内的顺序I/O,而不像随机I/O需要在磁盘的多个地方移动磁头,所以采用事务日志的方式相对来说要快得多。事务日志 持久以后,内存中被修改的数据在后台可以慢慢地刷回到磁盘。目前大多数存储引擎都是这样实现的,我们通常称之为 预写式日志(Write-AheadLogging),修改数据需要写两次磁盘。
多版本并发控制(MVCC):
使用记录快照的方式来实现,每一行数据都有一个版本号。具体实现待研究,据说是对修改的数据都是写在快照上,因此读的数据都会 一致,TODO。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 《高性能JavaScript》读书笔记
- 【高性能网站建设进阶指南】读书笔记
- 程序员笔记|如何编写高性能的Java代码
- 大规模集群下的Hadoop高并发以及高性能架构原理总结【石杉的架构笔记】
- 亿级流量系统架构之如何设计承载百亿流量的高性能架构【石杉的架构笔记】
- 【架构入门 - 高性能篇】集群高性能
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Little Typer
Daniel P. Friedman、David Thrane Christiansen、Duane Bibby、Robert Harper、Conor Mcbride / MIT Press / 2018-10-16 / GBP 30.00
An introduction to dependent types, demonstrating the most beautiful aspects, one step at a time. A program's type describes its behavior. Dependent types are a first-class part of a language, and are......一起来看看 《The Little Typer》 这本书的介绍吧!