美文网首页
mysql 面试题

mysql 面试题

作者: gstsyyb | 来源:发表于2020-05-28 23:35 被阅读0次

    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、主键为什么要去自增

    相关文章

      网友评论

          本文标题:mysql 面试题

          本文链接:https://www.haomeiwen.com/subject/xzdzahtx.html