摘要:
对于DBA来说,数据库的备份与恢复是一项最基本的操作与工作。在意外情况下(如服务器宕机、磁盘损坏、RAID卡损坏等)要保证数据不丢失,或者是最小程度地丢失,每个DBA应该每时每刻关心所负责的数据库备份情况。 本章主要介绍对InnoDB存储引擎的备份,应该知道MySQL数据库提供的大多数工具(如mysqldump、ibbackup、replication)都能很好地完成备份的工作,当然也可以通过... 阅读全文
摘要:
7.1 认识事务 7.1.1 概述 事务会把数据库从一种一致状态转换为另一种一致状态,在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都不保存。 ACID:原子性,一致性,隔离性,持久性 原子性:原子性是指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作执行都成功,才算整个事务成功。如果事务中任何... 阅读全文
摘要:
人们认为行级锁总会增加开销,实际上,只有当实现本身会增加开销时,行级锁才会增加开销。InnoDB 存储引擎不需要锁升级,因为一个锁和多个锁的开销是一样的。 6.1 什么是锁 数据库系统使用锁是为了支持对共享资源的并发访问,提供数据的完整性和一致性。 InnoDB 存储引擎锁的实现和 Oracle 数据库非常类似,都提供一致性的非锁定读、行级锁支持。行级锁没有... 阅读全文
摘要:
5.1 InnoDB存储引擎索引概述 如果索引太多,应用的性能可能会受到影响,如果索引太少,对查询性能又会产生影响,要找到一个合适的平衡点,这对应用的性能至关重要。 索引本质: 一种数据结构。索引中是包含一个表中列的值和它的物理地址的值,并且这些值存储在一个数据结构中。 常见的索引: B+树索引, 全文索引, hash索引... 阅读全文
摘要:
表是关于特定实体的数据集合。 4.1 索引组织表 在 InnoDB 中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表。在 InnoDB 中,每张表都有一个主键,如果在创建表时没有显式地定义主键,则 InnoDB 会按如下方式选择或创建主键: 首先判断表中是否有非空的唯一索引(Uniq 阅读全文