上一页 1 2 3 4 5 6 ··· 114 下一页
摘要: 1、按照锁的粒度分类: 行级锁,表级锁,页级锁,记录锁,间隙锁,临键锁。 1.1 行级锁 (1)各种引擎使用的锁 1.MyISAM和MEMORY采用表级锁(table-level locking) 2.BDB采用页级锁(page-level locking)或表级锁,默认为页级锁 3.InnoDB支 阅读全文
posted @ 2021-11-24 08:24 Sempron2800+ 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 索引的数据结构和具体存储引擎的实现有关,MySQL中使用较多的有Hash索引和B+树索引。 InnoDB引擎使用B+树索引;Memory引擎使用Hash索引。 B+树是一个平衡多叉树,从根节点到每个叶子节点的高度差不超过1,而且同层级的节点之间有指针连接,在B+树上的常规检索,从根节点到叶子节点的搜 阅读全文
posted @ 2021-11-22 10:38 Sempron2800+ 阅读(112) 评论(0) 推荐(0) 编辑
摘要: MySQL的索引类型跟存储引擎是相关的,InnoDB存储引擎数据文件跟索引文件全部房在idb文件中。 而MyISAM的数据文件房在myd文件中,索引房在myi文件中。 其实区分簇索引和非簇索引非常简单,只要判断数据跟索引是否存储在一起就可以了。 InnoDB存储引擎在进行数据插入的时候,数据必须要跟 阅读全文
posted @ 2021-11-22 10:11 Sempron2800+ 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1.master服务器将数据的改变记录在二进制日志文件binlog中,当master上的数据发生改变时,则将其改变写入binlog中。 2.slave服务器会在一定时间间隔内对master二进制进行探测其是否发生改变,如果发生改变,则开始一个I/O Thread,请求master的binlog。 3 阅读全文
posted @ 2021-11-22 09:59 Sempron2800+ 阅读(38) 评论(0) 推荐(0) 编辑
摘要: SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用 阅读全文
posted @ 2021-11-21 08:07 Sempron2800+ 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 参考1:数据库基础(四)Innodb MVCC实现原理 - 知乎 (zhihu.com) 参考2:图说Mysql的MVCC原理 - 怂人不倦 - 博客园 (cnblogs.com) 阅读全文
posted @ 2021-11-20 15:46 Sempron2800+ 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 数据库并发场景有三种: 1.读读:不存在任何问题,也不需要并发控制。 2.读写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读。 3.写写:有线程安全问题,可能存在更新丢失问题。 MVCC是一种用来解决读写冲突的无锁并发控制,也就是为事务分配单项增长的时间戳,为每个修改保存 阅读全文
posted @ 2021-11-20 15:27 Sempron2800+ 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1、MVCC MVCC全称是Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,使用更好 阅读全文
posted @ 2021-11-20 15:21 Sempron2800+ 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 对于线上系统突然产生的运行缓慢问题,如果导致线上系统不可用,首先导出jstack和内存信息,然后重启系统,尽快保证系统的可用性。 造成这种情况可能的原因主要有两种: 1.代码中某个位置读取数据量较大,导致系统内存耗尽,从而导致Full GC次数过多,系统缓慢。 2.代码中比较耗CPU的操作,导致CP 阅读全文
posted @ 2021-11-19 16:08 Sempron2800+ 阅读(476) 评论(0) 推荐(0) 编辑
摘要: Serial GC: 它是最古老的垃圾收集器, “Serial”体现在其收集工作是单线程的,并且在进行垃圾收集过程中,会进入臭名昭著的“Stop-The-World”状态。当然,其单线程设计也意味着精简的GC实现,无需维护复杂的数据结构,初始化也简单,所以一直是Client模式下JVM的默认选项。 阅读全文
posted @ 2021-11-19 15:55 Sempron2800+ 阅读(33) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 114 下一页