18道经典MySQL面试题,祝您升职加薪(5)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 18道经典MySQL面试题,祝您升职加薪(5)

11、innodb的读写参数优化


(1)、读取参数

global buffer pool以及 local buffer;


(2)、写入参数;

innodb_flush_log_at_trx_commit

innodb_buffer_pool_size


(3)、与IO相关的参数;

innodb_write_io_threads = 8

innodb_read_io_threads = 8

innodb_thread_concurrency = 0



(4)、缓存参数以及缓存的适用场景。

query cache/query_cache_type

并不是所有表都适合使用query cache。造成query cache失效的原因主要是相应的table发生了变更


第一个:读操作多的话看看比例,简单来说,如果是用户清单表,或者说是数据比例比较固定,比如说商品列表,是可以打开的,前提是这些库比较集中,数据库中的实务比较小。

第二个:我们“行骗”的时候,比如说我们竞标的时候压测,把query cache打开,还是能收到qps激增的效果,当然前提示前端的连接池什么的都配置一样。大部分情况下如果写入的居多,访问量并不多,那么就不要打开,例如社交网站的,10%的人产生内容,其余的90%都在消费,打开还是效果很好的,但是你如果是qq消息,或者聊天,那就很要命。

第三个:小网站或者没有高并发的无所谓,高并发下,会看到 很多 qcache 锁 等待,所以一般高并发下,不建议打开query cache

12、你是如何监控你们的数据库的?你们的慢日志都是怎么查询的?

监控的工具有很多,例如zabbix,lepus,我这里用的是lepus


13、你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?

主从一致性校验有多种工具 例如checksum、mysqldiff、pt-table-checksum等


14、你们数据库是否支持emoji表情,如果不支持,如何操作?

如果是utf8字符集的话,需要升级至utf8_mb4方可支持


15、你是如何维护数据库的数据字典的?

这个大家维护的方法都不同,我一般是直接在生产库进行注释,利用工具导出成excel方便流通。


16、你们是否有开发规范,如果有,如何执行的?

有,开发规范网上有很多了,可以自己看看总结下


17、表中有大字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问

(1)、您是选择拆成子表,还是继续放一起;

(2)、写出您这样选择的理由。


答:拆带来的问题:连接消耗 + 存储拆分空间;不拆可能带来的问题:查询性能;

如果能容忍拆分带来的空间问题,拆的话最好和经常要查询的表的主键在物理结构上放置在一起(分区) 顺序IO,减少连接消耗,最后这是一个文本列再加上一个全文索引来尽量抵消连接消耗

如果能容忍不拆分带来的查询性能损失的话:上面的方案在某个极致条件下肯定会出现问题,那么不拆就是最好的选择


18、MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的?为什么是这样子的?

答:InnoDB是基于索引来完成行锁

例: select * from tab_with_index where id = 1 for update;

for update 可以根据条件来完成行锁锁定,并且 id 是有索引键的列,

如果 id 不是索引键那么InnoDB将完成表锁,,并发将无从谈起


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 SQL 缓存
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
321 0
★★★★★ 2万字的MySQL八股文背诵版(建议收藏)
|
存储 SQL 缓存
【面试-八股文】mysql 万字总结,助你吊打面试官
前段时间大家在面试过程中,经常被问到数据库相关的问题。 像:sql怎么优化,解释下数据库常见锁的,having 和 where区别等等。 所以温大大爆肝1天2夜。 肝了「万字」从数据库基础知识、到数据索引、索、事务 以及 面试高频面试题。
【面试-八股文】mysql 万字总结,助你吊打面试官
|
SQL 关系型数据库 MySQL
【面试必刷】Mysql编程题:第六期
【面试必刷】Mysql编程题:第六期
【面试必刷】Mysql编程题:第六期
|
关系型数据库 MySQL
【面试必刷】Mysql编程题:第三期
【面试必刷】Mysql编程题:第三期
【面试必刷】Mysql编程题:第三期
|
关系型数据库 MySQL
【面试必刷】Mysql编程题:第七期
【面试必刷】Mysql编程题:第七期
【面试必刷】Mysql编程题:第七期
|
关系型数据库 MySQL 数据库管理
【面试必刷】Mysql编程题:第五期
【面试必刷】Mysql编程题:第五期
【面试必刷】Mysql编程题:第五期
|
关系型数据库 MySQL
【面试必刷】Mysql编程题:第四期
【面试必刷】Mysql编程题:第四期
【面试必刷】Mysql编程题:第四期
|
关系型数据库 MySQL
【面试必刷】Mysql编程题:第二期
【面试必刷】Mysql编程题:第二期
【面试必刷】Mysql编程题:第二期
|
关系型数据库 MySQL 索引
【面试必刷】Mysql编程题:第一期
【面试必刷】Mysql编程题:第一期
【面试必刷】Mysql编程题:第一期
|
SQL 关系型数据库 MySQL
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)
带你学MySQL系列 | “数据分析师”面试最怕被问到的SQL优化问题(下)(一)