Wesley13 Wesley13
2年前
mysql主从数据对比工具简介
1Checksum1.1checksum原理checksumtable的原理是对表中的数据进行一行一行的较验和计算,在执行checksum命令时,表会被加一个读锁(readlock),因此对于大表,这是一个很耗时的过程。读锁:又叫S锁/共享锁;当MySQL
Wesley13 Wesley13
2年前
MySQL 中的共享锁和排他锁的用法
在MySQL中的行级锁、表级锁和页级锁中,咱们介绍过,行级锁是MySQL中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁和排他锁的概念、使用方式及注意事项。共享锁(ShareLock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任
Stella981 Stella981
2年前
Discuz 7.2坑爹集锦
Discuz7.2坑爹集锦SQL篇DZ使用的是MySQL的MyISAM引擎,特点是简单快速,非常适合网络扁平数据。当数据量超过一定规模(大概300万),数据关联复杂(表连接增多)后性能急剧下降。并且在高读写并发时锁表严重(MyISAM是表锁,InnoDB有行锁),甚至导致表损坏。DZ7.2代码中SQL写法存在不标准的问题,虽然不影响执行但对维
Wesley13 Wesley13
2年前
Mysql MyISAM与InnoDB 表锁行锁以及分库分表优化
<divclass'title\_1'一、两种存储引擎:MyISAM与InnoDB区别与作用</div1.count运算上的区别:因为MyISAM缓存有表metadata(行数等),因此在做COUNT(\)时对于一个结构很好的查询是不需要消耗多少资源的。而对于InnoDB来说,则没有这种缓存。2.是否支持事务和崩溃后
Wesley13 Wesley13
2年前
MySQL中的共享锁与排他锁
在MySQL中的行级锁,表级锁,页级锁(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.hollischuang.com%2Farchives%2F914)中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细
Stella981 Stella981
2年前
Innodb中mysql如何快速删除2T的大表
这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行。出现这个情况的原因就是因为,在droptable的时候,innodb维护了一个全局锁,drop完毕锁就释放了。这意味着,如果在白天,访问量非常大的时候,如果你在不做任何处理措施的情况下,执行了删大表的命令,整个mysql就挂在那了,在删表期间,QPS会严重下滑,然后产
Wesley13 Wesley13
2年前
MySQL锁
<br1\.表锁表锁分为写锁,读锁,二者读读不阻塞,读写阻塞,写写阻塞<br<br2\.行锁行锁分为共享锁,排他锁,即读锁和写锁多粒度锁机制自动实现表、行锁共存,InnoDB内部有意向表锁意向共享锁(IS):事务在给一个数据行加共享锁前必须先取得该表的IS锁。
Wesley13 Wesley13
2年前
Mysql 乐观锁 和悲观锁
平时看博客或技术文章的时候,经常被各种锁搞得晕晕乎乎,包括在自旋锁、可重入锁、公平锁等等、乐观锁、悲观锁、行锁、表锁、意向锁、排它锁等。前段时间终于把Java多线程相关的锁有机会学习了一遍。现在开始整理mysql相关的锁概念。先从乐观锁和悲观锁开始聊聊。首先要知道,乐观锁和悲观锁不是真实存在的锁,只是两种抽象概念性的东西,就相当于Java中的接口,只
Wesley13 Wesley13
2年前
Mysql锁总结
今天我们来介绍一下Mysql中不同类型的锁数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁三类全局锁全局锁就是对整个数据库实例加锁。MySQL提供了一个加全