数据库面试题【二、MYSQL的两种存储引擎区别(事务、锁级别等等)】
引擎特性MYISAM不支持外键,表锁,插入数据时,锁定整个表,查表总行数时,不需要全表扫描INNODB支持外键,行锁,查表总行数时,全表扫描
MySQL 性能优化的 9 种姿势,面试再也不怕了!
大家好,我是二师兄!今天给大家分享一些简单好用的数据库优化方式!1、选择最合适的字段属性Mysql是一种关系型数据库,可以很好地支持大数据量的存储,但是一般来说,数据库中的表越小,在它上面执行的查询也就越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度舍得尽可能小。例如:在定义邮政编码这个字段时,如果将其设置为char(255),显然给数据库增加了不必要的空间,甚至使用va....

差点被面试官怼坏了,又问到MySQL索引了
前一阵子,又跑出去搞了一场面试,心态算是崩了,关于MySQL索引的原理及使用被面试官怼的体无完肤,立志要总结一番,然后一直没有时间(其实是懒……),准备好了吗?一、MySQL中索引的语法创建索引在创建表的时候添加索引:CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDE...

BAT 面试,总结的 55 道 MySQL 面试题!
1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ?2、Mysql的技术特点是什么?Mysql数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL服务器、不同的后端、广泛的应用程序编程接口和管理工具。3、Heap表是什么?HEAP表存在于内存中,用....

【阿里数据库面试题解】MySQL高可用原理(下)
策略可靠性优先策略比如一开始的双M架构,切换过程如下:判断备库B现在的SBM,若小于某值(比如5s)继续下一步,否则持续重试该步把主库A改成只读状态,即把readonly设置为true判断备库B的SBM值,直到该值=0把备库B改成可读写状态:把readonly 设置为false把业务请求切到备库B切换一般由HA系统完成。MySQL可靠性优先主备切换流程该切换流程中有不可用时间。因为在step2后....
【阿里数据库面试题解】MySQL高可用原理(上)
在一个主备关系中,每个备库接收主库的binlog并执行。正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确执行,备库就能达到跟主库一致的状态,这就是最终一致性。但MySQL要提供高可用能力,只有最终一致性还不够。为什么呢?MySQL主备切换流程–双M结构主备延迟主备切换可能是:主动运维动作比如软件升级、主库所在机器按计划下线等被动操作比如主库所在机器掉电。同步延迟与数据同....

【阿里最新数据库面试题】MySQL主从一致性(下
为何binlog有mixed格式?因为有些statement格式的binlog可能会导致主备不一致,所以要使用row格式。但row很占空间(不然怎么叫肉呢?)。比如你用一个delete语句删掉10万行:statement就是一个SQL语句被记录到binlog,占用几十个字节row就要把这10万条记录都写到binlog。不仅占用巨大空间,写binlog也要耗费I/O资源,影响执行速度。所以,MyS....

【阿里最新数据库面试题】MySQL主从一致性(上)
为什么备库执行了binlog就可以跟主库保持一致?MySQL主备的基本原理基本的主备切换流程上部分状态:客户端的读写都直接访问A,B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持B和A的数据相同。当需要切换时,就切成下部分状态:客户端读写访问的都是B,A是B的备库。上部分状态,虽然节点B没有被直接访问,但推荐把B(备库)设成只读(readonly),考虑如下:有时候一些运营类的查....

【阿里年薪百万数据库面试】MySQL会丢数据吗?(下)
日志逻辑序列号(log sequence number,LSN)LSN单调递增,对应redo log的写入点。比如写入length长度的redo log, 则LSN+length。LSN也会写到InnoDB的数据,以确保数据页不会被多次执行重复的redo log。如图3所示,是三个并发事务(trx1, trx2, trx3)在prepare 阶段,都写完redo log buffer,持久化到磁....

【阿里年薪百万数据库面试】MySQL会丢数据吗?(上)
在业务高峰期临时提升性能的方法。WAL机制保证只要redo log和binlog保证持久化到磁盘,就能确保MySQL异常重启后,数据可以恢复。binlog的写入机制事务执行过程中:先把日志写到binlog cache事务提交时,再把binlog cache写到binlog文件一个事务的binlog不该被拆开,不论事务多大,也要确保一次写入。这就涉及binlog cache的保存问题。系统给bin....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注