1、什么是redo、undo、binlog
redo 顺序写入文件,目的就是恢复已提交的事务,但是未写入数据文件,目的就是防止宕机造成数据未写入
commit->write data buffer->write redo buffer->commit->sync write redo file->ok->async write data file
undo:是回滚使用,快照读就是读取的 undo 数据
binlog 做主从同步使用
2、索引原理、使用有什么问题
①:锁是加在索引上的,如果更新时,更新条件无索引,则在整个表上加锁,否则在索引上加锁。
注意加锁的顺序,容易出现死锁,所以一般基于唯一索引或主键进行更新。
②:索引失效问题
③:索引采用 B+树,非叶子节点仅存储索引(节点可以存储大量索引,磁盘按照批量读取),叶子节点存储索引与数据,且节点间通过指针连接起来
3、select是快照读(注意隔离级别)、update、delete为当前读
4、数据库一般采用双主双从,主从采用同步、异步、半同步,实时性高则优先查主库
5、主键为什么要去自增
网友评论