0%

说明

本文译自MySQL 5.7官方文档的章节14.7.1,InnoDB的锁类型

译文

本章节介绍了InnoDB所使用的锁类型。

阅读全文 »

说明

最近在查找Redis的key过期策略相关的资料,发现网上的中文内容大部分都是互相复制的,后来换了英文搜索,觉得还是官方文档才是权威。本文就是译自其中介绍过期缓存key的处理算法的内容。

阅读全文 »

介绍及使用场景

简介

LRU,全称为Least Recently Used,即最近最少用。算法的核心思想是:

1
如果最近频繁访问的数据,那么在接下来也很可能会被访问到
阅读全文 »

《高性能MySQL》第三版在章节1.3提到了脏读,不可重复读,幻读三个概念(中文版第9页),如下表所示,但是翻了下索引,却发现没有对这三个概念的解释,而这三个概念却是面试热点问题之一。本文通过一些实验案例来说明什么是脏读,不可重复读以及幻读

隔离级别 脏读可能性 不可重复读可能性 幻读可能性 加锁读
READ UNCOMMITTED Yes Yes Yes No
READ COMMITTED No Yes Yes No
REPEATABLE READ No No Yes No
SERIALIZABLE No No No Yes
阅读全文 »

最近团队在搭建新的测试环境,在搭建过程中需要建立对应的新的MySQL数据库。在搭建新的数据库过程中,遇到了几个字符集相关的问题,比如:如何查看库的字符集,如何查看表的字符集,charset和collation的区别是什么。这里做一个记录和总结。

阅读全文 »

难度系数: 简单

表:Users

1
2
3
4
5
6
7
8
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| name | varchar |
+---------------+---------+
id 是该表单主键。
name 是用户名字。

表:Rides

1
2
3
4
5
6
7
8
9
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| user_id | int |
| distance | int |
+---------------+---------+
id 是该表单主键。
user_id 是本次行程的用户的 id, 而该用户此次行程距离为 distance 。

写一段 SQL , 报告每个用户的旅行距离。

返回的结果表单,以 travelled_distance 降序排列 ,如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列

阅读全文 »