天道不一定酬所有勤
但是,天道只酬勤

数据库

Innodb的RR到底有没有解决幻读?

hollischuang阅读(1557)评论(0)赞(2)

关于Innodb中的REPEATABLE READ这种隔离级别到底有没有解决幻读?好像众说纷纭,大家的说法都不一致。 有的人说,RR当然没解决幻读了,因为只有Serializable才能解决幻读。 也有人说,RR解决了幻读,因为RR中加了间...

MySQL遵循最左前缀匹配原则,面试官:回去等通知吧

hollischuang阅读(1727)评论(0)赞(2)

我们都知道,MySQL的Innodb引擎中,索引是通过B+树来实现的。不管是普通索引还是联合索引,都需要构造一个B+树的索引结构。 那么,我们都知道普通索引的存储结构中在B+树的每个非节点上记录的索引的值,而这棵B+树的叶子节点上记录的是聚...

再有人问你什么是MVCC,就把这篇文章发给他!

hollischuang阅读(2405)评论(0)赞(5)

一想到并发控制,很多人第一反应就是加锁,的确,加锁确实是解决并发问题最常见的方案。但是,其实除了加锁以外,在数据库领域,还有一种无锁的方案可以来实现并发控制,那就是大名鼎鼎的MVCC。 MVCC,是Multiversion Concurre...

为什么阿里巴巴禁止数据库中做多表join?

hollischuang阅读(2073)评论(0)赞(2)

阿里出过一个《Java开发手册》,上面有一条规约是禁止超过三张表的join。 而实际操作过程中,我们平时确实在SQL中写JOIN也比较少,两张表JOIN有的时候也有,多张表的JOIN在离线数据分析的时候很多,但是在线系统确实很少。经常有人问...

Redis 为什么要自己实现用SDS实现一个字符串

hollischuang阅读(1476)评论(0)赞(1)

Redis是一种KV的存储结构,他的key是字符串类型,值也支持字符串,所以字符串是redis中最常见的一个类型了。Redis自己本身是通过C语言实现的,但是他并没有直接使用C语言中的字符数组的方式来实现字符串,而是自己实现了一个SDS,即...

再有人问你什么是分库分表,直接把这篇文章发给他

hollischuang阅读(2314)评论(0)赞(2)

分库分表,是企业里面毕竟常见的针对高并发、数据量大的场景下的一种技术优化方案,也是一个非常高频的面试题。但是,因为很多人其实并没有非常丰富的分库分表的经验,所以能把这个问题回答的比较好的人其实还挺少的。 那么,本文就来试图把关于分库分表的事...

再有人问你数据库缓存一致性的问题,直接把这篇文章发给他

hollischuang阅读(1986)评论(0)赞(4)

在之前的一篇文章《为什么会出现数据库和缓存不一致的问题》中,我们介绍过缓存和数据库会出现数据不一致的几种情况。 我们提到过,在数据库和缓存的操作过程中,可能存在”先写数据库,后删缓存”、”先写数据库,后更新缓存”、”先删缓存库,后写数据库”...

HollisChuang's Blog

联系我关于我