MySQL[30]

面试官:Innodb是如何实现事务的?

概述 InnoDB是MySQL数据库的一个存储引擎,它支持事务处理。事务处理是数据库管理系统执行过程中的一个逻辑单位,由一个或多个SQL语句组成,这些语句要么全部执行,要么全部不执行,是一个不可分割的工作单位。InnoDB通过以下方式来实现事务: 原子性(Atomicity): 原子性确保事务是一个

面试官:MVCC是什么?ACID靠什么保证的?

MVCC是什么 概述 全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,快照读为MySQL实现MVCC提供了一个非阻塞读功能。MVCC的具体实现,还需要依赖于数据库记录中的三个隐式字段、undo log日志、re

面试官:接下来咱们聊聊MySQL 读写分离

面试题 你有没有做 MySQL 读写分离? 如何实现 MySQL 的读写分离? MySQL 主从复制原理的是啥? 如何解决 MySQL 主从同步的延时问题? 面试官心理分析 高并发场景下,系统需要处理大量的用户请求,这些请求可能包括数据的读取和写入。在数据库层面,如果所有的读写请求都直接作用在同一个

MySQL 面试题及答案整理,最新面试题

MySQL中InnoDB和MyISAM存储引擎的区别是什么? InnoDB和MyISAM是MySQL中两种常见的存储引擎,它们

【面试题114】谈谈微服务的数据库设计思路吧

单独的数据库 微服务设计的一个关键是数据库设计,基本原则是每个服务都有自己单独的数据库,而且只有微服务本身可以访问这个数据库。它是基于下面三个原因。 优化服务接口:微服务之间的接口越小越好,最好只有服务调用接口(RPC或消息),没有其他接口。如果微服务不能独享自己的数据库,那么数据库也变成了接口的一

【面试题106】MySQL索引优缺点、何时需要/不需要创建索引、索引及sql语句的优化

一、什么是索引? 索引是对数据库表中的一列或多列值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。 二、索引的作用? 索引相当于图书上的目录,可以根据目录上的页码快速找

【面试题102】为什么选择B+树作为数据库索引结构?谈谈你的理解

背景 首先,来谈谈B树。为什么要使用B树?我们需要明白以下两个事实: 【事实1】 不同容量的存储器,访问速度差异悬殊。以磁盘和内存为例,访问磁盘的时间大概是ms级的,访问内存的时间大概是ns级的。有个形象的比喻,若一次内存访问需要1秒,则一次外存访问需要1天。所以,现在的存储系统,都是分级组织的。

【面试题73】面试中被问到SQL优化,看这篇就对了!

前言 本文主要针对的是关系型数据数据库MySql。键值类数据库可以参考: https://www.jianshu.com/p/098a870d83e4 先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。 1 基本概念简述 1.1 逻辑架构

left join 如何优化?

最近在写代码的时候,遇到了需要多表连接的一个问题,初始sql类似于: select * from a left join b on a.id = b.aid left join c on c.bid = b.id left join d on d.cid = c.id 这样的多个left j

【面试题58】MySQL 服务占用cpu 100%,如何排查问题? (MySQL面试第七弹)

一、引子 对于互联网公司,线上CPU飙升的问题很常见(例如某个活动开始,流量突然飙升时),按照本文的步骤排查,基本1分钟即可搞定!特此整理排查方法一篇,供大家参考讨论提高。 二、问题复现 线上系统突然运行缓慢,CPU飙升,甚至到100%,以及Full GC次数过多,接着就是各种报警:例如接口超时报警

【面试题57】谈谈MySQL 索引,B+树原理,以及建索引的几大原则(MySQL面试第六弹)

MYSQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下sql,让修改了一下存储引擎,当时我使用的是Myisam,后面改成InnoDB了。为什么要改成这样,之前都没有听过存储引擎,于是网上查了一下。 事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。 一

【面试题56】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹)

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。 具体分解如下: 1.INNER JOIN(内连接) SELECT <s