摘要: CopyOnWrite 介绍 Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用 阅读全文
posted @ 2020-10-12 17:38 将军上座 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 10.1 获取InnoDB存储引擎源代码 https://dev.mysql.com/downloads/mysql/ 下面是所有的存储引擎 10.2 InnoDB源代码结构 ❑btr:B+树的实现。 ❑buf:缓冲池的实现,包括LRU算法,Flush刷新算法等。 ❑dict:InnoDB存储引擎中内存数据字典的实现。 ❑dyn:InnoDB存储引擎中动... 阅读全文
posted @ 2020-10-12 09:42 将军上座 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 本章将从以下几个方面集中讲解InnoDB存储引擎的性能问题: ❑选择合适的CPU ❑内存的重要性 ❑硬盘对数据库性能的影响 ❑合理地设置RAID ❑操作系统的选择也很重要 ❑不同文件系统对数据库的影响 ❑选择合适的基准测试工具 9.1 选择合适的CPU InnoDB存储引擎一般都应用于OLTP的数据库应用,这种应用的特点如下: ❑用户操作的并发量大 ... 阅读全文
posted @ 2020-10-12 09:41 将军上座 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 对于DBA来说,数据库的备份与恢复是一项最基本的操作与工作。在意外情况下(如服务器宕机、磁盘损坏、RAID卡损坏等)要保证数据不丢失,或者是最小程度地丢失,每个DBA应该每时每刻关心所负责的数据库备份情况。 本章主要介绍对InnoDB存储引擎的备份,应该知道MySQL数据库提供的大多数工具(如mysqldump、ibbackup、replication)都能很好地完成备份的工作,当然也可以通过... 阅读全文
posted @ 2020-10-12 09:39 将军上座 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 7.1 认识事务 7.1.1 概述 事务会把数据库从一种一致状态转换为另一种一致状态,在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都不保存。 ACID:原子性,一致性,隔离性,持久性 原子性:原子性是指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作执行都成功,才算整个事务成功。如果事务中任何... 阅读全文
posted @ 2020-10-12 09:38 将军上座 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 人们认为行级锁总会增加开销,实际上,只有当实现本身会增加开销时,行级锁才会增加开销。InnoDB 存储引擎不需要锁升级,因为一个锁和多个锁的开销是一样的。 6.1 什么是锁 数据库系统使用锁是为了支持对共享资源的并发访问,提供数据的完整性和一致性。 InnoDB 存储引擎锁的实现和 Oracle 数据库非常类似,都提供一致性的非锁定读、行级锁支持。行级锁没有... 阅读全文
posted @ 2020-10-12 09:35 将军上座 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 5.1 InnoDB存储引擎索引概述 如果索引太多,应用的性能可能会受到影响,如果索引太少,对查询性能又会产生影响,要找到一个合适的平衡点,这对应用的性能至关重要。 索引本质: 一种数据结构。索引中是包含一个表中列的值和它的物理地址的值,并且这些值存储在一个数据结构中。 常见的索引: B+树索引, 全文索引, hash索引... 阅读全文
posted @ 2020-10-12 09:23 将军上座 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 表是关于特定实体的数据集合。 4.1 索引组织表 在 InnoDB 中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。在 InnoDB 中,每张表都有一个主键,如果在创建表时没有显式地定义主键,则 InnoDB 会按如下方式选择或创建主键: 首先判断表中是否有非空的唯一索引(Uniq 阅读全文
posted @ 2020-10-12 09:09 将军上座 阅读(180) 评论(0) 推荐(0) 编辑