数据库
你对数据库的理解
有什么数据库及数据库分类?
关系型数据mysql,Oracle,SQL Server,DB2,postgreSQL
非关系型数据MongoDB,Cassandra(卡三zhe),redis,Hbase
国产的达梦,人大经仓。
行式存储 msyql, Oracle, SQL Server,这些都是行式存储
列式存储 Hbase,Cassandra
大数据的hadoop
时序数据库 influxDB 用Go语言编写,主要用于运维,IOT(物联网)领域的时序数据库
什么是数据库?
支持对数据的存储和操作
数据库提供哪些功能?
数据库怎么存储
存储怎么读取
事务
什么是事务?
事务有哪些特性?
acid
根据场景去解释(经典的银行转账)
事务特性acid的原理是怎么实现的
索引
什么是索引
为什么要有索引
索引有哪些分类
具体mysql里面是怎么操作索引的
非常详细的知道索引长什么样子,索引是如何把数据库组织起来的
数据是怎么存储的?
用数据页去存储 16KB 把数据分成一块一块的,存在磁盘的不同地方
1000W数据,mysql是怎么组织存储的
性能方面的优化
redis
内存的读写效率>>>磁盘的顺序读写效率>>>远高于磁盘的随机读写
日志
binglog undolog redolog 日志(一方面为了防止出现问题,另一方面也是为了提高效率)
基于日志的两阶段提交
磁盘的顺序读写效率>>>远高于磁盘的随机读写:
比如一个餐馆的老板,每月有一万人来店里吃饭,每一来消费都会记账。假如今天来了一千个人,
你有一两百的账本去记账。你要是记账的时候把每个人的帐都翻出来记上,那肯定记不过来呀。就拿个小本本,白天把所有人的帐不管是谁,都咔咔都记上,晚上闲的时候,再把这些帐分别记到账本对应的位置上。
内存
buffer pool, change pool
mysql的隔离级别
4种
不同隔离级别之间的区别是什么,问题是什么?
问题是如何解决的
mvcc 行锁表锁
mysql里面的各种锁机制
一条更新语句的执行流程
一条查询语句的执行流程
mysql主从 集群 主从同步
mysq分库分表
索引覆盖: 索引 是否 满足你所要查询的数据
回表,走普通索引拿到主键,从主键索引的树上去拿数据
联合索引:------------》索引下推 ---能用索引就用索引。