mysql高性能学习笔记整理

来源:互联网 发布:怎样设计淘宝店铺 编辑:程序博客网 时间:2024/05/20 22:04

1.ACID 表示原子性,一致性,隔离性,持久性,一个运行良好的事物处理系统,必须具备这些特征。

原子性:一个事务必须被视为一个不可分割的最小工作单元,整个事务中 所有的操作要么提交成功,要么全部提交失败,对一个事务来说,不可能只执行其中的一部分操作,这就是原子性。

2.死锁:死锁是指两个事务或者多个事务在同一个资源上 相互占用,并请求锁定对方占用的资源,从而导致恶性循环现象。

3.事务日志:事务日志可以帮助提高事务效率。使用事务日志,存储引擎在修改表的数据时 只要修改其内存拷贝,再把改修改行为记录到持久硬盘上的事务日志中,而不用每次都将修改的数据本身持久化到磁盘。事务日志采用追加的方式,因此写日志的操作是磁盘上一小块区域内的顺寻I/O,而不像随机I/O需要再磁盘行多个地方移动磁盘头,所以采用事务日志的方式相对来说要快得多,事务日志持久以后,内存中被修改的数据在后台可以慢慢地刷会到磁盘。目前大部分存储引擎都是这样实现的。我们通常称为预写试日志,修改数据需要些两次磁盘。如数据的修改已经记录到事务日志并持久化,但是数据本身还没有写回磁盘,此时系统崩溃,存储引擎在重启时能够自动回复这部分修改的数据。具体的恢复方式则试存储引起而定。

4.延迟更新索引:创建myisam数据表的时候,若指定delay_key_write选项,在这次执行修改的时候,不会立刻讲更新的索引直接写到硬盘上,而是写到内存的缓冲区中,只有在关闭或者清除缓存的时候才会将对应的索引写到对应的磁盘中,这中可以提高写入的性能,但是在机器崩溃的时候 ,重启的时候需要手动去修复。延迟更新索引建的特性,可以在全局设置,也可以为单个表去设置。myisam 性能问题的瓶颈是对表的全锁,

5.

原创粉丝点击