Java每日一面(Part2数据库)[19/11/28]
Posted 故事我忘了°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java每日一面(Part2数据库)[19/11/28]相关的知识,希望对你有一定的参考价值。
作者:故事我忘了¢
个人微信公众号:程序猿的月光宝盒
个人微信公众号:程序猿的月光宝盒
1.如何设计一个关系型数据库
如上图,首先划分成两大部分:
? 1.存储部分:类似一个文件系统,把数据存储到一个持久化设备中,如机械硬盘,固态等
? 2.程序实例部分:对存储进行逻辑上的管理,
? 2.1 存储管理:数据的逻辑关系转换成物理存储关系
? 2.2 缓存机制:优化执行效率
? 2.3 SQL解析:讲sql语句进行解析
? 2.4 日志管理: 记录操作
? 2.5 权限划分: 多用户管理
? 2.6 容灾机制: 灾难恢复模块(突感挂了,怎么恢复)
? 2.7 索引管理:优化数据查询效率
? 2.8 锁管理:使数据库支持并发操作
2.索引模块
2.1为什么要使用索引?
? 为了快速查询数据;(对应全表扫描去讲,后续博客/公众号会深入解答)
2.2什么信息能成为索引?
? 主键,唯一键,普通键等(后续深入解答)
2.3索引的数据结构
生成索引,建立二叉树进行e二分查找
生成索引,建立B-Tree结构进行查找
生成索引,建立B+-Tree结构进行查找(mysql)
生成索引,建立Hash结构进行查找
(后续深入解答)
以上是关于Java每日一面(Part2数据库)[19/11/28]的主要内容,如果未能解决你的问题,请参考以下文章
Java每日一面(Part1:计算机网络)[19/11/13]