240 发简信
IP属地:新疆
  • 120
    你了解MySQL的Double Write Buffer(DWB)吗?

    大家知道MySQL的buffer一页的大小是16K,但是底层文件系统一页的大小是4K,换句话说,MySQL将一页buffer数据刷入磁盘,需要写4个文件系统里的页。 假如My...

  • 唯一索引一定能提高性能吗?并不是

    我们通过读和写两个场景分开讨论 读场景: 通过B+树从根节点开始层序遍历到叶子结点,数据页内部通过二分搜索 普通索引:查到满足的第一条记录,继续查找下一条记录,直到找到不满足...

  • MySQL的null值真的会导致索引失效吗?

    其实在sql执行过程中,使用is null 或者is not null 理论上都会走索引,由于优化器的原因导致索引失效变成全表扫描,或者说是否使用索引和NULL值本身没有直接...

  • 某度大厂面试,来学习下?

    惯例:自我介绍和近期深刻的项目介绍。 1. HashMap 的底层数据结构是怎样的 ? 底层是用数组实现,hash冲突使用拉链法解决,节点超过8转换成红黑树 2.HashMa...

  • MySQL 四种主从复制原理,你知道吗?

    前言 在实际开发工作中,数据库一般不会单例部署提供服务,这是为了防止服务器和数据单点故障问题。更多是主从架构,不仅保证数据的完整性,也流量高的时候分担部分压力主从复制原理 主...

  • 120
    MVCC多版本并发控制,你真的懂吗?

    什么是 MVCC ? MVCC 的就是多版本并发控制手段,在innodb中是为了解决读写并发问题的,它的实现是通过,4个隐式字段,undo日志 ,Read View 来实现的...

  • 120
    MySQLB+树一页为什么是16KB呢?

    首先认识下索引数据结构 mysql的数据是放在页里面的,一次数据I/O至少加载一页数据.这样是为了减少I/O资源浪费 MySQL 中 B+ 树的一个节点大小为1页,也就是16...

  • InnoDB的7大锁,你知道吗?

    自增锁 普通的插入是不相互阻塞的,但是面试官能这么问,肯定有阻塞的情况,既然表里只有自增主键,那么只有一种锁,那就是自增锁,自增锁有3中模式,每一种的阻塞情况都不一样 传统模...

  • 120
    MySQL解析器和优化器,你了解它们吗?

    解析器都做哪些事情 其主要功能是将输入的SQL语句分解为语法单元,然后将这些语法单元转换为内部表示的数据结构,最终生成一个可执行的查询计划。解析器是MySQL中的一个重要组成...

  • 120
    缓冲池(Buffer Pool),淘汰策略了解多少呢?

    MySQL数据是存储在磁盘中,但是如果每次都从磁盘读取数据,性能极差。要想提高查询性能,就需要在内存中增加一块缓存区间,将磁盘中读取到的数据缓存在内存,直接读取,为此Inno...

  • 120
    MySQL有哈希索引吗?

    是否有Hash索引应该这样理解: (1)会先从普通索引查询出主键; (2)再由主键,从聚集索引上二次遍历定位到记录 如果存储的数据重复度很低,对该列数据以等值查询为主,没有范...

  • InnoDB事务已经提交,数据库崩了,数据却丢失???

    先说说redo log吧? 事务提交后,必须将事务对数据页的修改刷(fsync)到磁盘上,才能保证事务的ACID特性。 这个刷盘,是一个随机写,随机写性能较低,如果每次事务提...