
Innodb
回南山种豆
你是谁?你从哪里来?到哪里去?你去干什么?
展开
-
mysql 的undo理解
mysql undo 并非是将数据库物地帝恢复到执行语句或者事务之前的样子,它只是逻辑的恢复到原来的样子,所有逻辑都被取消,这里取消操作是这样的:insert 对应的取消操作是 delete 相应的记录delete 对应的insert 相关记录update 对应会执行一个相反的操作,将修改前的操作回放。原创 2012-09-14 14:08:18 · 941 阅读 · 0 评论 -
innodb log及datafile增删
#### 官方参考####为了添加一个数据文件到表空间中,首先要关闭 MySQL 数据库,编辑 my.cnf 文件,在 innodb_data_file_path 中添加一个新文件,然后再重新启动服务。如果,最后一个文件以关键字 autoextend 来描述,那么编辑 my.cnf 的过程如下所示。必须检查最后一个文件的尺寸,并使它向下接近于 1024 * 1024 bytes (= 1翻译 2012-10-25 15:26:58 · 678 阅读 · 0 评论 -
配置mysql sync_binlog 和innodb_flush_log_at_tx_commit导致主从数据不一致
有两种配置情况可能导致主从数据不一致sync_binlog=1 innodb_flush_log_at_tx_commit=0当commit时数据写到binlog当时并没有写到redolog 时 系统crash。此时从库已经拿到binglog进行数据重做,但是主库重启后会回滚该事务,此时导致主从数据不一致.sync_binlog=1 innodb_flush_log_at_tx原创 2012-10-21 17:02:37 · 6670 阅读 · 0 评论 -
mysql innodb 刷数据和redo log
两个参数分别控制着innodb 怎么刷数据和redo,这里主要是说明一下根据实际场景配置他们.innodb_flush_log_at_tx_commit 控制着innodb怎么刷日志进行持久化.innodb_flush_method确定数据和日志怎么刷新到磁盘配置两个参数来协调刷数据和日志.目前采用 fadasync 和1 . 的比较多。原创 2012-10-21 16:47:30 · 1085 阅读 · 0 评论 -
自旋锁学习
innodb 在实现锁时采用自旋锁:自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个保持者,也就说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁原创 2012-09-14 21:54:01 · 704 阅读 · 0 评论 -
innodb和myisam在存储上有何特点和区别
myisam 存储数据有三个文件.MYD,.MYI ,.FRM 数据文件和索引文件分开存储innodb存储数据有.FRM存放表定义,.ibd(独享表空间),.ibdata(共享表空间).innodb存储数据分独立表空间和共享表空间(具体使用哪个由innodb_file_per_table变量确定),独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件,文件存放在和原创 2012-09-14 21:56:55 · 2801 阅读 · 0 评论 -
mysql SHOW INNODB STATUS 探秘
mysql SHOW INNODB STATUS 探秘原文作者: Peter Zaitsev原文来源: http://www.mysqlperformanceblog.com/2006/07/17/show-innodb-status-walk-through/译者:叶金荣(Email:),转载请注明译者和出处,并且不能用于商业用途,违者必究。很多人让我转载 2012-08-29 15:04:50 · 1211 阅读 · 0 评论 -
怎样快速获取innodb的表记录数
背景:今天dba群里很安静,老大问了个问题如题.表结构,200万数据 CREATE TABLE `tblReply` ( `rid` int(10) unsigned NOT NULL, `qid` int(10) unsigned NOT NULL, PRIMARY KEY (`rid`), KEY `qid` (`qid`)) ENGINE=InnoDB原创 2012-09-21 16:35:44 · 1043 阅读 · 0 评论 -
innodb 刷数据
首先innodb 线程分为用户态线程和后台线程,用户态线程主要是用户操作的线程,可以通过show process list 查看,后台线程不能够查看。但是show innodb status可以查看到4个线程I/O thread 0 state: waiting for i/o request (insert buffer thread)I/O thread 1 state: waitin原创 2012-11-15 17:16:00 · 937 阅读 · 0 评论