InnoDB

【mysql】Innodb三大特性之adaptive hash index

1、Adaptive Hash Indexes 定义 If a table fits almost entirely in main memory, the fastest way to perform queries on it is to use hash indexes. InnoDB has a mechanism that monitors in...

InnoDB recovery过程解析

本文来自网易云社区。 InnoDB如果发生意外宕机了,数据会丢么?对于这个问题,稍微了解一点MySQL知识的人,都会斩钉截铁的回答:不会!为什么?他们也会毫不犹豫的说:因为有重做日志(redo log),数据可以通过redo log进行恢复。回答得很好,那么InnoDB怎样通过redo log进行数据的恢复的,具体的流程是怎样的?估计能说清楚这个问题的人剩...

RocksDB上锁机制

      RocksDB作为一个开源的存储引擎支持事务的ACID特性,而要支持ACID中的I(Isolation),并发控制这块是少不了的,本文主要讨论RocksDB的锁机制实现,细节会涉及到源码分析,希望通过本文读者可以深入了解RocksDB并发控制原理。文章主要从以下4方面展开,首先会介绍RocksDB锁的基本结构,然后我会介绍RocksDB行锁数据...

MySQL 幻象行

当同一个查询在不同的时间产生不同的行集时,就会出现所谓的幻像问题。例如,如果执行了两次SELECT,但是第二次返回了第一次没有返回的行,那么该行就是一个“幻象”行。 假设在表child的id列上有一个索引,你想读取并锁定表中标识符值大于100的所有行,并打算稍后更新所选行的某些列: SELECT * FROM child WHERE id > 100...

【MySQL】MySQL中的锁机制

MySQL锁机制起步 锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySQL中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySQL中的锁是在服务器层或者存储引擎层实现的。 行锁与表锁 首先我们来了解行锁与表锁的基本概念,从名字中我们就可以了解:表锁就是对整张表进行加锁,而行锁则是锁定某行、某几行数据或者行之间的间隙。 各引擎对锁...

MySQL性能优化

1. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数 据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。 优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器...