美文网首页程序员
高性能Mysql第一章读书笔记

高性能Mysql第一章读书笔记

作者: yellowone | 来源:发表于2020-07-17 12:03 被阅读0次

第一章 mysql架构和历史

  • mysql最重要最与众不同的是它的存储引擎架构,这种架构设计将查询处理,以及其他系统任务和数据的存储和提取相分离。
  • 存储引擎负责MySQL中数据的储存和提取。
  • 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中进行。
  • 对于select语句,在解析查询之前,服务器会先检查查询缓存。
  • 一种提高共享对象并发性的方式就是让锁定对象更有选择性,但是增加锁的数量也会增加系统开销,需要在锁的开销和安全性之间寻求平衡。
  • mysql有两种锁策略,表锁和行锁。
  • ACID:原子性,一致性,隔离性,持久性。
  • 四种隔离级别:未提交读(事务中的修改对其他事务可见),提交读(一个事务如果提交了,就能读到他的数据修改),可重复读(保证了同个事务在读取同个数据是一致的,就算这个数据被其它事务修改了,但是无法解决范围查询中读取到新行),串行操作
  • innodb发现事务中有死锁的循环依赖时会立即返回错误,如果持有锁的超时了,就会将持有最少行级排它锁事务进行回滚。
  • 事务日志可以帮助提高事务的效率。存储系统在修改表数据的时候,只需要修改内存拷贝,再该修改行为写入事务日志中持久化,事务日志持久化之后,再把内存中修改的数据慢慢刷到磁盘里,修改数据需要写两次磁盘。
  • MySQL默认使用的自动提交模式,可以设置的。
  • MySQL服务器层是不管理事务的,事务是靠存储引擎实现的,所以在一个事务中使用多种存储引擎是不可靠的。
  • MySQL也可以显式锁定,但是基本很少用。innodb更不推荐用。
  • Innodb的MVCC(多版本并发控制),是通过在每行数据后面保存两个隐藏的字段,保存版本号和删除版本号实现的。select操作只会读取到小于等于当前事务的创建时间,删除时间在事务之前的。insert会保证插入的行带有该事务的版本号。delete会写入删除版本号。UPDATE会新增一条记录,保存新版本,给老记录表示删除版本号。通过这个方法可以使大多数读操作不用加锁,也符合可重复读的隔离标准,但是需要而外的空间。
  • innoDB表是基于聚簇索引建立的,聚簇索引对主键查询有很高的性能,不过二级索引必须含有主键列,如果主键很大的话,其它所有的索引都会很大。
  • MyISAM不支持事务,不支持崩溃后的安全恢复,加锁是表锁
  • 一般情况下InnoDB是最好的选择,从事务,备份,崩溃恢复和特有特性去分析。如果你真的很在意innodb空间占用比较大,也可以考虑其它的。

相关文章

  • 《高性能MySQL》&《MySQL技术内幕 InnoDB

    《高性能MySQL》&《MySQL技术内幕 InnoDB存储引擎》笔记 第一章 MySQL架构与历史 MySQL的...

  • 高性能MySQL之运行机制

    本文来自于拜读《高性能MySQL(第三版)》时的读书笔记作者:安明哲转载时请注明部分内容来自《高性能MySQL(第...

  • MySQL的逻辑架构

    MySQL的逻辑架构 MySQL的逻辑架构(from《高性能MySQL》)MySQL逻辑架构,来自:高性能MySQ...

  • centos环境下mysql安装

    前言 节后和节前拉下很多的博客,这个月主要复习下mysq相关的内容,会记录下《高性能mysql的》读书笔记,以及个...

  • 高性能Mysql第一章读书笔记

    第一章 mysql架构和历史 mysql最重要最与众不同的是它的存储引擎架构,这种架构设计将查询处理,以及其他系统...

  • 《高性能MySQL 第3版(中文)》PDF高清完整版-免费下载

    《高性能MySQL 第3版(中文)》PDF高清完整版-免费下载 《高性能MySQL 第3版(中文)》PDF高清完整...

  • 高性能mysql 读书笔记

    date: 2017-01-12 13:19 来源: inside mysql 微信公众号 - 最喜欢的mysql...

  • 高性能MYSQL读书笔记

    1.锁有两种类型:读锁和写锁。读锁是共享的,或者说是相互不阻塞的,多个客户在同一时刻可以同时读取同一资源,而互不干...

  • <高性能Mysql>读书笔记

    1 Mysql架构与历史 事务机制ACID 原子性 (atomicity)对于一个事务来说,要么操作全部完成,要么...

  • MySQL书目

    MySQL数据库索引设计与优化 MySQL技术内幕 MySQL排错指南 高性能MySQL MySQL DBA修炼之道

网友评论

    本文标题:高性能Mysql第一章读书笔记

    本文链接:https://www.haomeiwen.com/subject/apcghktx.html