美文网首页
数据库优化学习笔记(三)

数据库优化学习笔记(三)

作者: 欧阳的博客 | 来源:发表于2018-03-27 17:23 被阅读0次

数据库优化学习笔记(二)学习下mysql的基本语句,常用结构,接下来涉及到mysql的事物管理,索引、存储过程、使用函数与触发器等深入一点的东西。

MYSQL的事务管理

mysql整体功能分为两部分:外层部分和内层部分。外层部分负责和客户端连接以及检测输入的mysql语句是否有语法错误。内层部分负责完成实际的检索以及文件操作。

内层部分就是指的mysql的存储引擎,常见引擎有:

MyISAM:默认高速引擎,不支持事务处理。

InnoDB:支持行锁定以及事务处理,比MyISAM的处理速度稍慢。

Falcon:一种新的存储引擎,支持事务处理。

CSV:以CSV形式保存数据。

mysql事务管理内部机制使用UNDO和REDO两个日志来进行的,不是实时和硬盘进行数据交换,所以数据回滚或者提交都是针对日志文件和硬盘的操作。

什么是事务管理?

事务管理就是将一系列的mysql操作看成一个整体,整体中只要某一个失败了,就全部算失败,数据回滚到一开始的状态,只有都成功了数据库才会发生变化。也就是上面说的日志文件对硬盘进行真正的操作。

什么是锁定?

当同一个数据被多个用户操作时,会发生数据冲突,导致数据发生错误。为避免这种情况发生,规定在一个用户操作某一数据时,其他人只能读取不能修改数据或者读都不能读取。

锁定分两种:

共享锁定:当用户对对象数据进行锁定时,其他人只能读,不能写。

排他锁定:当用户对对象数据进行锁定时,其他人不能读,不能写

什么是分离水平?

分离水平是用来确定事务之间的影响程度。分离水平越高,整合性越高 ,运行性越低。分离水平越低,整合性越低 ,运行性越高。(整合性是指数据不发生冲突或者错误的概率)

事务处理的分离水平

假设A事务与B事务同时进行:

脏读:A事务在事务过程中操作了某个数据,但是还没COMMIT,B事务读取到了该数据,即使A还没提交。

不可重复读:B事务在读取某数据时,前后读取了两次,中间隔了3秒,在第2秒时,A事务改变了该数据,导致B事务前后两次读取的数据不一样。

幻象读取:B事务在读取某数据时,前后读取了两次,中间隔了3秒,在第2秒时,A事务增加了新的数据或删除了原有数据,导致B事务前后两次读取的数据不一样,多出了新的数据(或少了数据)。解决方法是在A改变数据前,要求一直等待,知道B事务提交了A事务才有权限改变数据。

死锁:在幻象读取中,会出现A事务和B事务同时修改某个数据的情况,这个时候双方会互相等待对方结束事务,造成死锁,双方事务都无法进行。解决方法是对某一方事务进行锁定强制解除,并回滚数据,另外一方正常事务。

以上是部分事务管理知识,实际用起来肯定会遇到很多坑,遇到再说吧。接下来是索引知识。

相关文章

  • 数据库设计三范式与反范式

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 第一范式: 1、数据库的所有...

  • 数据库索引学习笔记

    数据库索引学习笔记 数据库索引优化是后台开发必备的技能,本文记录下学习数据库索引的一些心得。 MyISAM和Inn...

  • 数据库优化学习笔记(三)

    数据库优化学习笔记(二)学习下mysql的基本语句,常用结构,接下来涉及到mysql的事物管理,索引、存储过程、使...

  • 无标题文章

    目录 笔记大型项目优化概述大型项目优化的方向代码优化数据库优化缓存优化架构优化Memcache与MySQL比较语法...

  • MySql表设计与优化

    MySql设计与优化系列笔记:一、数据库设计三范式与反范式二、MySql表设计与优化 1、实体关系分析 实体关系需...

  • 学习笔记-数据库优化

    腾讯课堂,燕十八Mysql高性能优化https://ke.qq.com/course/171224 建表原则 变长...

  • 数据库索引创建与优化

    对于数据库的优化主要包括三个部分:查询优化、索引优化和字段类型优化,其中,索引优化则是数据库优化的重中之重。一个查...

  • Web性能优化常见技巧

    阶段一:访问网页地址 阶段二:发出请求:http请求优化 阶段三:访问数据库 (SQL数据库优化)后端优化 阶段四...

  • 三、页面性能优化

    《指尖上行——移动前端开发进阶之路》学习笔记 第三章:介绍页面性能的优化原理,如如何进行资源优化、加载优化及脚本优...

  • TODO:数据库优化之分页

    TODO:数据库优化之分页 本文的例子是以MongoDB数据库为准,其它数据库各位也可以举一反三进行优化。 在Mo...

网友评论

      本文标题:数据库优化学习笔记(三)

      本文链接:https://www.haomeiwen.com/subject/gdedcftx.html