最全MySQL面试题和答案(四)

打印 上一主题 下一主题

主题 1861|帖子 1861|积分 5583

1.数据库结构优化

一个好的数据库计划方案对于数据库的性能往往会起到事半功倍的结果。优化计划需要思量数据冗余、查询和更新的速度、字段的数据类型是否合理等多方面的因素。
将字段很多的表分解成多个表

概述:对于字段较多的表,假如有些字段的利用频率很低,可以将这些字段分离出来形成新表。如许可以减少表的数据量,从而提高查询性能。
增加中央表

概述:对于需要经常联合查询的表,可以建立中央表以提高查询效率。通过建立中央表,将需要通过联合查询的数据插入到中央表中,然后将原来的联合查询改为对中央表的查询。
增加冗余字段

概述:计划数据表时应只管遵循范式理论的规约,尽大概地减少冗余字段,使数据库计划更加风雅、优雅。然而,合理地增加冗余字段可以提高查询速度。表的规范化程度越高,表之间的关系越多,毗连查询的环境也就越多,性能大概越差。
注意:冗余字段的值在一个表中修改后,必须在其他表中同步更新,否则大概导致数据不同等的题目。
2.大表优化


3.MySQL 主从复制原理及流程

主从复制的作用

概述

  • 数据备份与劫难恢复:从数据库可以作为主数据库的备份,用于劫难恢复。
  • 读写分离:在从数据库上执行只读操作,分担主数据库的读取压力。
  • 负载均衡:在从数据库上分担主数据库的读写操作,实现负载均衡。
  • 升级测试:在从库上进行数据库版本的升级测试。
MySQL 主从复制工作原理


  • 在主库上记录二进制日记(Binary Log)

    • 主数据库(Master)将全部数据更改操作记录到二进制日记中。

  • 从库拉取并写入中继日记(Relay Log)

    • 从数据库(Slave)启动I/O线程,毗连主数据库,拉取二进制日记内容,并写入中继日记中。

  • 从库执行中继日记中的SQL事件

    • 从数据库通过SQL线程读取中继日记中的SQL事件,并顺序执行这些事件。

主从复制的根本流程和线程


  • 主数据库(Master)

    • Binlog线程:记录DDL和DML操作到二进制日记中。

  • 从数据库(Slave)

    • IO线程:拉取二进制日记内容,写入中继日记中。
    • SQL执行线程:读取中继日记中的SQL事件,并执行这些事件。

复制过程概述


  • 主数据库

    • 每个事件的操作记录到二进制日记中。

  • 从数据库

    • IO线程:拉取二进制日记并写入中继日记中。
    • SQL线程:读取中继日记中的SQL事件,执行这些SQL语句,确保数据同等性。

复制过程中大概遇到的题目


  • 延迟题目:网络延迟或负载不均衡大概导致从库的数据复制滞后。
  • 主从同步中断:大概由网络题目或配置错误导致,需要修复。
  • 数据同等性:主数据库数据更改未能及时复制到从数据库,大概需要修复数据不同等题目。
好了,到此为止MySQL的面试题分享就竣事了,希望各人在面试前多看看这部分的题目,在真正面试的时间也能立刻答上来,拿到更好的offer!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表