随笔分类 - MySQL
MySQL相关内容
MySQ事务(事务的隔离级别)
摘要:令人惊讶的是,大部分数据库系统都没有提供真正的隔离性,而是在正确性和性能之间做了妥协。 ISO 和 ANIS SQL标准制定了四种事务隔离级别的标准,但是很少有数据库厂商遵循这些标准。比如Oracle数据库就不支持Read UNCOMMITTED和REPEATABLE READ 的事务隔离级别。 S
阅读全文
MySQ事务概述
摘要:一、认识事务 1.1、概述 事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。事务时访问并更新数据库中各种数据项的一个程序执行单位。在事务的操作,要么都做修改,要么都不做,这就是事务的目的,也是事务模型区别与文件系统的重要特征之一。 A(Atomicity),原子性:整个数据库
阅读全文
MySQL锁(锁升级)
摘要:锁升级(Lock Escalation)是指将当前锁的粒度降低。举个例子:数据库可以把一个表的1000个行锁升级为一个页锁,或者将页锁升级为表锁。 如果在数据库的设计中认为锁是一种稀有资源,而且想避免锁的开销,那数据库中会频繁出现锁升级现象。 SQL Server 数据库的设计认为锁是一种稀有的资源
阅读全文
MySQL锁(死锁)
摘要:死锁的概念 死锁是指两个或者两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象。 解决死锁问题最简单的一种方法是超时,即当两个事务互相等待时,当一个等待时间超过设置的某一阀值时,其中一个事务进行回滚,另一个等待的事务就能继续进行。在InnoDB存储引擎中,参数Innodb_lock_
阅读全文
MySQL锁(阻塞)
摘要:因为不同锁之间的兼容性关系,在有些时刻一个事务中的锁需要等待另一个事务中的锁释放它所占用的资源,这就是阻塞。 阻塞并不是一件坏事,其实为了确保事务可以并发且正常地运行。 在InnoDB存储引擎中, 参数innodb_lock_wait_timeout 用来控制等待时间(默认50秒); 动态参数,可随
阅读全文
MySQL锁类型(一致性是非锁定读、自增和外键)
摘要:1、一致性的非锁定读 一致性的非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过行多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行DELETE或UPDATE操作,这时读取操作不会因此去等待行上锁的
阅读全文
MySQL锁算法(行锁的三种算法以及解决幻读问题)
摘要:InnoDB行锁时通过给索引上的索引项加锁来实现的,Oracle时通过在数据块中相对应数据行加锁来实现。 InnoDB这种行锁实现特点意味着,只有通过索引条件检索条件数据,InnoDB才使用行锁,否则InnoDB将使用表锁。 行锁的三种算法 Record Lock :单个记录上的锁 锁总会锁住索引记
阅读全文
MySQL锁概述
摘要:锁(locking)的机制是区分数据库系统和文件系统的一个关键特征。 锁机制用于管理对共享资源的并发访问。InnoDB存储引擎会在行级别上对表数据上锁,这固然不错。不过InnoDB存储引擎也会在数据库内部其他多个地方使用锁,从而允许对多种不同资源提供并发访问。例如:操作缓冲池中的LRU(Least
阅读全文
MySQL锁问题(脏读、不可重复读、幻读)
摘要:锁问题 通过锁定机制可以实现事务的隔离性要求,使得事务可以并发地工作。锁提高了并发,但是却会带来潜在地问题。不过好在因为事务隔离性地要求。锁只会带来三种问题,如果可以防止这三种情况地发生,那将不会产生并发异常。 1、脏读 脏读(Dirty Read),首先理解一下脏数据地概念。 脏页:是指在缓冲池中
阅读全文
MySQL默认隔离级别对应解决的三种问题
摘要:url 脏读 不可重复读 幻读 读未提交 read uncommitted 是 是 是 不可重复度 read committed 否 是 是 可重复度 repeatable read 否 否 是 默认 串行化 serializable 否 否 否 不可重复读侧重于修改 幻读侧重于新增和删除 解决不可
阅读全文
MySQL日志文件影响数据库的各种类型活动
摘要:MySQL常见的日志文件有: 1.错误日志 - MySQL的启动,运行、关闭过程等 2.慢查询日志 - 运行时间超过某个阀值的sql或者运行sql语句没有使用索引 3.查询日志 - 记录所有对MySQL数据库请求的信息 4.二进制日志 - 记录对数据库执行更改的所有操作,常用于恢复,复制,审计 这些
阅读全文
浙公网安备 33010602011771号