概要: 我们知道InnoDB采用Write Ahead Log策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页。既然有重做日志保证数据持久性,查询时也可以直接从缓冲池页中取数据,那为什么还要刷新脏页到磁盘呢?如果重做日志可以无限增大,同时缓冲池足够大,能够缓存所 ...
分类:
数据库 时间:
2017-04-06 12:49:18
阅读次数:
342
一、innodb log的基础知识 · innodb log顾名思义:即innodb存储引擎产生的日志,也可以称为重做日志文件,默认在innodb_data_home_dir下面有两个文件ib_logfile0和ib_logfile1。MySQL官方手册中将这两个文件叫文InnoDB存储引擎的日志文... ...
分类:
数据库 时间:
2017-04-01 12:21:21
阅读次数:
203
【redo log buffer】【redo log file】-原理 目录: 1.重做日志写入过程图 2.相关知识点汇总图 3.redo_log_buffer 原理 4.redo_log_file 原理 1. 重做日志写入过程: 2. 相关知识点汇总: 3. redo log buffer 原理 ...
分类:
数据库 时间:
2017-03-09 13:43:32
阅读次数:
334
一、Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo log 重做日志(记录数据库的更改)。 本文主要关注Oracle的重做日志。 重做日志分为在线重做日志和归档重做日志。 online Redo log fi ...
分类:
数据库 时间:
2017-03-09 10:46:58
阅读次数:
278
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库. 日志操作模 ...
分类:
数据库 时间:
2017-02-15 15:08:50
阅读次数:
285
1.你在设计数据库时,怎样解决锁? 锁:同一时间段,很多用户占用一个资源。 抢火车票,提交了订单但未支付,为了避免出现死锁,则可以设计为预-1,等待一段时间之后查看该订单,进行调整。 预扣决策。 例子:抢火车票,抢小米,一元秒杀。 2.有10000条数据,其中有1000条数据是错误的(比如pk了或数 ...
分类:
数据库 时间:
2017-02-13 15:11:03
阅读次数:
216
CPU调优 首先要清楚数据库应用的分类,一般分为两类:OLTP(Online Transaction Processing,在线事务处理)和OLAP(Online Analytical Processing,在线分析处理),这是两种完全不同的数据库应用。OLAP多用在数据仓库或数据集市中,一般需要执 ...
分类:
其他好文 时间:
2017-01-22 16:57:06
阅读次数:
176
存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据。这些存储引擎真正存储了数据和索引等数据。 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存储的数据按表空间进行存放。默认配置下,会有一个初始化大小为10MB、名为ibdata1的文件。该文件 ...
分类:
数据库 时间:
2017-01-15 11:53:09
阅读次数:
315
InnoDB有多个内存块,你可以认为这些内存块组成了一个大的内存池,负责如下工作: 后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据。此外,将已修改的数据文件刷新到磁盘文件,同时保证在数据库发生异常情况下InnoDB能恢复到正常运行状态。 后台线程 由于Oracle是 ...
分类:
数据库 时间:
2017-01-12 18:12:00
阅读次数:
351