当前位置: 首页 > article >正文

腾讯云DBA面试(一面)

摘要:腾讯云前端时间约了个了维护工程师的面试,总结下面试题。

1、oracle索引原理和mysql索引原理的区别,性能差异?b tree 和 b+ tree 区别。

(1) B+树改进了B树, 让非叶子结点只作索引使用, 去掉了其中指向data record的指针, 使得每个结点中能够存放更多的key, 因此能有更大的出度. 这有什么用? 这样就意味着存放同样多的key, 树的层高能进一步被压缩, 使得检索的时间更短.

(2)当然了,由于底部的叶子结点是链表形式, 因此也可以实现更方便的顺序遍历, 但是这是比较次要的, 最主要的的还是第(1)点.对于范围查找来说,b+树只需遍历叶子节点链表即可,B树却需要重复地中序遍历。对于全表扫描也是的。

2、mysql半同步和增强版同步的原理、优化点,各自存在什么问题,如何解决?

总结: after_commit和after_sync的区别:

after_commit半同步复制(mysql5.5和mysql5.6) 在innodb commit之后多了一步相应给客户端,响应客户端之前等待slave ack。

after_sync半同步复制(mysql5.7)是在innodb commit之前等待slave ack。

主要区别: 半同步复制与无损复制的主要区别在于半同步复制在事务 commit后等待Slave ACK(需要收到至少一个Slave节点回复的ACK), 无损复制在binlog sync后与Slave确认。虽然都同样避免不了数据丢失的风险,但是由于ack确认的位置不同, 这样就有一个大的区别在于其他事务是否看得见这个事务的修改操作,半同


http://www.kler.cn/news/365818.html

相关文章:

  • 51单片机快速入门之 AD(模数) DA(数模) 转换 2024/10/25
  • fpga系列 HDL: 竞争和冒险 01
  • 排序(一)插入排序,希尔排序,选择排序,堆排序,冒泡排序
  • 最新版本jdbcutils集成log4j做详细sql日志、自动释放连接...等
  • 多厂商的实现不同vlan间通信
  • 死锁(Deadlock)C#
  • 大语言模型训练方式探索(基于llma3模型)
  • ThinkPhp配置中间件解决跨域问题
  • C#WPF的XAML的语法详谈和特性
  • 【C/C++ Qt shared_ptr | make_shared | QSharedPointer 】绕圈圈
  • [Redis] Redis数据持久化
  • [项目详解][boost搜索引擎#2] 建立index | 安装分词工具cppjieba | 实现倒排索引
  • Element 的Table表格实现列合并(记得先排序、element-plus、列合并、线上已投入使用)
  • 同标签实现监听LocalStorage
  • python的文件常识
  • CTF-RE 从0到N:开始之前-c函数手册
  • 什么样的JSON编辑器才好用
  • TDengine 签约新奥新智:写入速度提升10倍,成本降低90%
  • 软件设计师----UML
  • JavaWeb合集16-JWT令牌验证
  • Coppelia Sim (v-REP)仿真 机器人3D相机手眼标定与实时视觉追踪 (一)
  • 【Sublime Text】设置中文 最新最详细
  • 【Android】Convenient ADB Commands
  • jupyter notebook改变默认启动路径
  • C++:map和set类
  • SQLITE排序