摘要: 使用 B + 树 这个问题,你可以在脑子里面先思考一下,如果让你来设计数据库的索引,你会怎么设计? 我们还是用 Why?What?How?三步法来看这个问题。 为什么会需要索引?索引是什么?索引怎么用的? 再思考为什么需要 B + 树?B + 树是什么?B + 树怎么用? 答:大部分程序主要的功能都 阅读全文
posted @ 2022-05-30 17:48 暗伤玫瑰 阅读(112) 评论(0) 推荐(0)
摘要: 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。 1.第一范式(1NF):列不可再分1.每一列属性都是不可再分的属性值,确保每一列的原子性 2.两列的属性相近或相似或一样, 阅读全文
posted @ 2022-01-06 09:49 暗伤玫瑰 阅读(144) 评论(0) 推荐(0)
摘要: 应用场景 现在由于前后端技术的分离,后端程序员在使用ORM框架开发后台API接口的时候,往往会将数据库的“数据模型”直接提供给前端。而大多数时候,可能这些数据并不能够满足前端展示的需求,有时候可能需要在“数据模型”的基础上,加几个字段或者改几个字段展示名称或者字段展示风格,以满足前端“视图模型”的需 阅读全文
posted @ 2022-01-05 19:35 暗伤玫瑰 阅读(479) 评论(0) 推荐(0)
摘要: 历史背景 MySql性能瓶颈 1. 表数据量过大 2. Sql查询过于复杂 3. Sql没走索引 4. 数据库服务器性能低 解决方案 阿里开发手册:单表行数超过500W或者单表容量超过2G 数据库分库分表 分库分表 冷热数据分离 历史数据分离 数据库分库分表 1. 垂直拆分 垂直分表(大表拆成多个小 阅读全文
posted @ 2022-01-03 13:56 暗伤玫瑰 阅读(1098) 评论(0) 推荐(0)