Mysql常见考点

MySQL知识点汇总 数据冗余 阅读详情

  1. MySQL架构组成
    2.MySQL备份和恢复
    3.MySQL查询和慢查询日志分析
    4.MySQL索引优化
    5.MySQL存储引擎优化
    6.MySQL锁机制优化
    7.MySQL高可用设计
    8.MySQL集群

SQL分类:DDL DML DCL

一、DDL(数据库定义语言)
定义不同的数据段、数据库、表、列、索引等数据库对象,常用语句关键字:create drop alter等

二、DML(数据操作语句)
1、用于添加、删除、更新和查询数据库记录,并检测数据完整性,常用语句关键字:insert delete update select等

三、DCL(数据控制语句)
控制不同数据段之间的许可和访问级别,这些语句定义了数据库、表、字段、用户的访问权限和安全级别,语句关键字:grant revoke等

索引优化

mysql索引的类型:

索引

MyISAM引擎

InnoDB引擎

Memory引擎

B-Tree 索引

支持

支持

支持

HASH 索引

不支持

不支持

支持

R-Tree 索引

支持

不支持

不支持

Full-Text 索引

支持

支持5.6+

不支持

B-TREE索引类型包含如下索引类型:
普通索引
这是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建:
(1)创建索引: CREATE INDEX 索引名 ON 表名(列名1, 列名2, …);
(2)修改表: ALTER TABLE 表名 ADD INDEX 索引名 (列名1, 列名2, …);
(3)创建表时指定索引:CREATE TABLE 表名 ( […], INDEX 索引名 (列名1, 列名2, …) );
组合索引:INDEX 索引名 (列名1, 列名2, …)为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则,
比如,INDEX ageSexIndex (age,sex, …);select * from student where age=12 and sex=1;这个语句优先匹配age=12的数据,这个原则有利于提高索引速度

UNIQUE索引
表示唯一的,不允许重复的索引,如果该字段信息保证不会重复,例如身份证号,可设置为unique:
(1)创建索引:CREATE UNIQUE INDEX 索引名 ON 表名(列名1, 列名2, …);
(2)修改表:ALTER TABLE 表名 ADD UNIQUE 索引名 (列名1, 列名2, …);
(3)创建表时指定索引:CREATE TABLE 表名( […], UNIQUE 索引名 (列名1, 列名2, …) );
主键索引(PRIMARY KEY)
主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。
(1)主键一般在创建表的时候指定:CREATE TABLE 表名( […], PRIMARY KEY (列名1, 列名2, …) );
(2)也可以通过修改表的方式加入主键:ALTER TABLE 表名 ADD PRIMARY KEY (列名1, 列名2, …);
每个表只能有一个主键。 (主键相当于聚合索引,是查找最快的索引)
注:不能用CREATE INDEX语句创建PRIMARY KEY索引

数据库中主键和唯一索引的区别?
1.主键为一种约束,唯一索引为一种索引,本质上就不同。
2.主键在表中只能有一个,唯一索引可以有多个。
3.主键创建后一定包含唯一性索引,而唯一索引不一定就是主键。
4.主键不能为null,唯一索引可以为null.
5.主键可以被其它表引用,唯一索引不能。
6.主键和索引都是键,主键是逻辑键,索引为物理键,即主键不实际存在。

聚集索引和非聚集索引的根本区别
根本区别
聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致。

聚集索引
聚集索引表记录的排列顺序和索引的排列顺序一致,所以查询效率快,只要找到第一个索引值记录,其余就连续性的记录在物理也一样连续存放。聚集索引对应的缺点就是修改慢,因为为了保证表中记录的物理和索引顺序一致,在记录插入的时候,会对数据页重新排序。

非聚集索引
非聚集索引制定了表中记录的逻辑顺序,但是记录的物理和索引不一定一致,两种索引都采用B+树结构,非聚集索引的叶子层并不和实际数据页相重叠,而采用叶子层包含一个指向表中的记录在数据页中的指针方式。非聚集索引层次多,不会造成数据重排。

MySQL只对一下操作符才使用索引:<、<=、=、>、>=、between、in, 以及某些时候的like(不以通配符%或_开头的情形)。

1 较频繁的作为查询条件的字段应该创建索引
2 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件(比如性别:男,女,做索引毫无意义而且浪费空间)
3 更新非常频繁的字段不适合创建索引

索引的优势
(1)减少查询IO;
(2)优化等值查询或者范围查询;也即是范围查询和等值查询都是会走索引的;
(3)利用有序特性(例如:order by/group by/distinct/max/min等函数);这些操作都是利用排序技术来实现的,而索引天然就是有序的,因此使用到order by等有序操作时,对相关字段建立索引会提高效率。

如何用好索引
(1)依据where查询条件建立索引;
(2)使用联合索引,而不是多个单列索引;
例如:select * from tab_a where b=? and c=?这个SQL,对b c字段建立联合索引的效率比单列的索引效率更高。
(3)联合索引中索引的顺序根据区分度排,区分度大的放在前面。区分度是指字段值的种类,字段值种类越多的字段要放在前面,例如:idx_smp(name,gender)的效率要比idx_smp(gender,name)的效率高
(4)联合索引能为前缀单列、复列查询提供帮助;
例如:
有idx_smp(a,b,c)这样的索引,where a=?或者where a=? and b=?都可以使用该索引,但是where c=?就无法使用该索引。
(5)同样的,要合理创建联合索引,避免冗余
例如建立了idx_smp(a,b,c)就不需要建立idx_smp(a)、idx_smp(a,b)索引了。
(6)order by group by distinct等需要排序的操作,在没有索引的大数据量情况下需要排序,对IO和CPU性能消耗很大。如果有类似排序需求,则需要对相关字段建立索引,这样利用索引的有序特性不需要排序,直接按着索引顺序扫描即可。
(7)select …where … like ‘%xx’;这种%放在头部的,是无法走索引的。
(8)select * 不建议使用,因为会读取大量数据,也不利于使用索引覆盖技术。索引字段能够完全在索引中获取, 就不要使用select *(因为会导致回表),无法完整在索引中获取,也是建议select具体字段。

查看是否使用了索引:explain命令查看工具
(1)explain是确定一个查询如何走索引的最简便有效的方法;
(2)关注的字段值:
——id字段:表示查询中执行select子句或操作表的顺序。
id如果相同,可以认为是一组,从上往下顺序执行;在所有组中, id值越大,优先级越高,越先执行。
——type字段:查询access的方式;
type=all表示全表扫描数据,不走索引;
type=index表示full index scan,和all的区别是index类型只遍历索引树。
——key字段:本次查询最终选择使用哪个索引,NULL表示未使用索引;
——key_len字段:选择的索引使用的前缀长度或者整个长度(判断联合索引的使用情况);
——rows字段:可以理解为查询逻辑读,需要扫描过的记录行数;
——extra字段:额外信息,主要指的fetch data的具体方式;
extra=using tmporary表示mysql需要使用临时表来存储结果集,常见于排序和分组查询。
extra=using filesort表示文件排序,需要对其优化。mysql中无法利用索引完成的排序操作称为“文件排序”。
using tmporary可能是内存临时表也可能是磁盘临时表,如果临时表大小超过tmp_table_size大小才会产生基于磁盘的临时表,也就是说,只是通过explain执行计划是无法查看是否用来磁盘临时表的,如果show processlist查看的线程有“Created_tmp_disk_tables”关键字才能代表是用使用了磁盘临时表

explain的一些使用建议:
(3.1)对不确定执行计划的关键语句上线前务必explain;
(3.2)type为all的要格外注意,避免全表扫描;
(3.3)key_len只能用很少一部分前缀的,要注意索引字段顺序等;
(3.4)extra里看到using filesort和using tmporary都要尽量优化,这两种fetch方式不应该出现在任何执行频繁的关键语句中。

强制使用索引hint:

存储引擎

一、主要存储引擎

5.5以后的版本,默认存储引擎从myisam改成了innodb;线上推荐都用innodb
在这里插入图片描述

二、innodb存储引擎

(一)结构

在这里插入图片描述

INNODB存储引擎大致分三部分,图中已经(1)(2)(3)标出。至于MYSQL Server层暂不管它,就是SQL接口、解析器、优化器、缓冲池的那层组件。
上图中:
(1)是缓存层,由一个大的innodb buffer pool和很多个其他小的内存组件组成,用来缓冲数据的,innodb的数据读取写入不是直接操作文件,而是从文件加载到缓存,在缓冲里做操作,再flush到磁盘文件‘;
(2)是各种后台线程,例如IO线程、日志线程、监控线程等;
(3)是各种数据文件层,例如innodb的数据文件、redo log等;

(二)innodb的特点
innodb存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比myisam存储引擎,innodb写的处理效率差一些且会占用更多的磁盘空间以保留数据和索引。
innodb通过使用MVCC来获取高并发性,且实现SQL标准的4种隔离级别,同时使用一种被称为next-key locking(间隙锁)的策略来避免幻读(phantom)现象。除此之外innodb存储引擎还提供插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引(adaptive hash index)、预读(read ahead)等高性能技术。

1、innodb支持事务,事务ACID特性完整支持:
(1)原子性(A):通过回滚段失败回滚来保证原子性,也就是unlog log日志回滚保证原子性;
(2)一致性(C):通过支持主外键来保证一致性;
(3)隔离性(I):通过事务版本+回滚段=MVCC(多版本并发),也即是通过MVCC(多版本并发)机制来保证隔离性;
(4)持久性(D):通过事务日志(redo log)来保证持久性;

(三)事务隔离级别
1、支持四种不同的事务隔离级别,默认的事务隔离级别是REPEATABLE-READ(可重复读):

事务隔离级别脏读不可重复读幻读
读未提交(read-uncommitted)是是是
不可重复读(read-committed)否是是
可重复读(repeatable-read)否否是
串行化(serializable)否否否

(四)INNODB存储引擎的锁
1、支持行级锁,写不阻塞读;不同行间的写相互不阻塞;并发性能好
2、行锁是加在索引上的(或者说行级锁是在索引上实现的),如果更新字段上没有索引则行锁会转换为表级锁。

(五)INNODDB数据块缓存池
1、数据的读写需要经过缓存(数据的读写不是直接读写磁盘文件,而是先将文件数据加载到内存,再进行读写(更新后产生脏页),再根据配置的策略定期将脏页刷新到磁盘)
2、innodb的数据是以整页(page,16K)为单位,读取到缓存中;
3、缓存中的数据以LRU策略换出;
4、IO效率高

(六)INNODB数据文件存储结构
1、innodb存储类型的表,是索引组织表(聚簇表),它的整个表数据就是一个索引表。表数据是根据主键排序,如果没有索引则检查唯一索引键,用唯一键做索引;如果没有主键也没有唯一索引键,则会自动内部分配一个rowID来做索引。
2、innodb结构的表是索引结构的,数据节点每页是16K。
3、innodb结构的表是索引组织表(聚簇表),根据主键寻址速度很快。
主键值递增的insert插入效率较好,主键随机insert插入操作效率差。因此,innodb表必须制定主键,建议使用自增数字。

(七)INNODB数据持久化与事务日志
1、事务日志(redo log)实时持久化,
2、内存变化数据(脏数据)增量异步刷出到磁盘文件;
3、实例故障靠重放日志恢复;
4、性能好,可靠,恢复快

二、MYISAM存储引擎

(一)特点
1、前身叫ISAM存储引擎;
2、MYISAM存储引擎的数据组织形式是一种堆表,和索引组织表相区别(innodb的数据组织形式是索引组织表)。
例如插入一条数据id=2(id为主键,表里已经存在id=1和id=3数据),
(1)myisam存储引擎:如果插入id=2,数据的插入位置和id=1 id=3无关系,也就是无序的;
堆表的插入特性是无序的,其他的数据库例如oracle PostgreSQL都是以堆表形式插入数据的;
(2)INNODB存储引擎:如果插入id=2,会插入到id=1和id=3之间,因为innodb是索引组织表是有有序的;
索引组织表的最大特点是根据主键去查询效率非常快。
3、MYISAM存储引擎不支持事务;
4、myisam存储引擎的缓存()不缓存数据,只缓存索引。数据缓存是交给操作系统的内存来缓存的。
这种会有问题:如果查询一个大表,会消耗大量操作系统内存,如果表中碎片很大可能会浪费大量操作系统内存。
5、锁粒度较大:使用的是读写锁(读的时候不允许写,写的时候不允许读,只有读的时候允许读)
6、数据文件可以直接 拷贝,偶尔可能会用上。但是线上现在不建议使用该引擎了
因为:
a、不支持事务;
b、锁粒度太大并发性能差;
c、只缓存索引不缓存数据,对系统内存影响较大有风险;
d、8.0取消了MYISAM引擎;

三、MEMORY存储引擎

1、数据全内存存放,无法持久化;
2、性能较高;
3、不支持事务;
4、适合偶尔作为临时表使用;
create tmpporary table tmp(…)

四、BLACLHOLD存储引擎

1、数据不作任何存储;
2、利用mysql replicate,充当日志服务器,在mysql replicate环境里充当代理主。

一般用BLACKHOLD作为日志服务器,记录数据库的所有变更。向其他从服务器分发日志。

五、TOKUDB存储引擎

1、分形树存储结构;
2、支持事务;
3、行锁;
4、压缩效率较高;
5、适合大批量insert的场景(吞吐量/io效率高)
6、备份比较麻烦,只有企业版有在线备份工具,社区版没有在线备份工具;

六、MYSQL CLUSTER

1、多主分布式集群;
2、数据节点间冗余,高可用;
3、支持事务;
4、设计上易于扩展;
5、面向未来,线上慎用;

问题1、为什么Innodb表需要主键?

  1)innodb表数据文件都是基于主键索引组织的,没有主键,mysql会想办法给我搞定,所以主键必须要有;
  2)基于主键查询效率高;
  3)其他类型索引都要引用主键索引;

问题3、为什么不建议Innodb表主键设置过长?

  因为辅助索引都保存引用主键索引,过长的主键索引使辅助索引变得过大;

问题2:为什么建议InnoDB表主键是单调递增?

           如果InnoDB表主键是单调递增的,可以使用改进后的B+tree分裂策略,显著减少B-Tree分裂次数和数据迁移,从而提高数据插入效率。

           不仅如此,它还大大提高索引页空间利用率。
深信服AC1000-B1200到手第一步:从开箱到激活上网的保姆级图文指南 本文提供深信服AC1000-B1200企业级行为管理设备的详细开局使用指南,涵盖从开箱验机、物理连接到网络配置、安全加固及设备激活的全流程。通过图文并茂的步骤解析,帮助用户快速完成设备初始化并实现安全上网,特别适合初次接触该设备的网络管理员参考。 阅读详情

相关推荐

电流模架构Bandgap设计与仿真

带隙基准作为集成电路中一个重要模块,被广泛应用在低压差线性稳压(LDO)、充电电池保护芯片和通信电路、射频收发器、flash存储器等多种模拟及数模混合集成电路中,并且是片上集成系统(SOC)芯片中不可或缺的部分,为整个芯片提供精确的电压参考点............

qq_50968231的博客 5万+

【MySql】重要知识点及常见面试题的解析

MySql数据库相关的重要知识点及常见面试题的解析

m0_73192864的博客 576

工业质检实战:用海康VisionMaster的BLOB分析搞定PCB焊点缺陷检测

本文详细介绍了如何利用海康VisionMaster平台的BLOB分析技术,构建一套针对PCB焊点缺陷的自动化视觉检测方案。文章从核心原理出发,重点阐述了如何通过动态阈值分割和模板匹配定位,克服工业现场光照不均、位置偏移等挑战,实现虚焊、漏焊等缺陷的精准、稳定检测,并提供了实战调优与系统集成的关键思路。

weixin_29091105的博客 560

Mysql知识点汇总

关系型数据库就是由多张相互连接的二维表组成的数据库。(通过表存储数据的数据库)

muyeyou的博客 968

保姆级教程:用微信小程序+OneNet MQTT API,5分钟搞定温湿度数据实时展示

本文提供了一份详细的教程,教你如何利用微信小程序和OneNet MQTT API在5分钟内实现温湿度数据的实时展示。从OneNet平台配置到小程序数据绑定,手把手指导零基础开发者快速搭建监控系统,涵盖API调用、数据解析和界面设计等关键步骤。

weixin_30298497的博客 368

支持向量机算法之鸢尾花特征分类【机器学习】

支持向量机(SVM)是一种二元分类模型。它的基本模型是在特征空间中定义最大区间的线性分类器,这使它不同于感知器;支持向量机还包括核技术,这使得它本质上是一个非线性分类器。支持向量机的学习策略是区间最大化,它可以形式化为求解凸二次规划的问题,等价于正则化铰链损失函数的最小化。支持向量机的学习算法是求解凸二次规划的优化算法。Scikit learn(sklearn)是机器学习中常见的第三方模块。它封装了常见的机器学习方法,包括回归、降维、分类、聚类等。实例的特征向量(以2D为例)映射到空间中的一些点,如下图中的

一键难忘的博客 4970

MySQL完整知识总结(复习+进阶)

本文是一篇面向零基础开发者的MySQL完整知识总结,内容基于廖雪峰SQL&MySQL全教程梳理而成。文章从关系数据库底层概念出发,沿着"理论→环境部署→DDL表结构管理→DML增删改查→多表JOIN→索引/事务/约束→SQL vs NoSQL选型→在线实操→避坑指南"的主线,拆解了MySQL的核心语法体系。文中穿插50+段可执行SQL示例,附带输出结果对照与常见错误速查表,适合作为SQL入门的学习路线图或开发者的随用随查手册。

2501_92632351的博客 544

用 i18n 驯服标准文案:SAP Fiori elements 的 UI 文本本地化与可替换实践全景

本文系统介绍了SAP Fiori elements应用中UI文本本地化的全面解决方案。从框架层与应用层文本的分类原则出发,详细解析了标准文本替换的四步法:资源准备、键值定位、模型配置和验证部署。文章特别针对不同开发场景,提供了XML、ABAP CDS和CAP CDS三种注解方式的文本覆盖写法示例。同时深入探讨了语言回退机制、表格组件标准键覆盖等关键技术细节,并指出了实际项目中的常见问题与解决方案。通过结合官方文档和社区实践,为开发人员在不破坏框架约定的前提下,实现稳定可靠的UI文本本地化提供了完整指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 294

MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒

作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,助你向大厂“开炮”,面试不再被MySQL难倒。 注意:关于MySQL的内容整理,包括了面试题、学习笔记、使用文档以及Xmind思维图几个部分,需要高清完整版《MySql学习资源大礼包》的朋友请转发+关注,然后私信回复 “资料”获得免费领取方式 01、MySQ

Java0257的博客 1044

【图像超分】论文复现:新手入门必备!Pytorch实现SRGAN!手把手详细教程!代码注释详尽!可用于训练自己的数据集!实时验证模型性能!绘制PSNR曲线图!附训练好的各放大倍数的模型权重文件!

【图像超分】论文精读:SRResNet/SRGAN【图像超分】论文复现:万字长文!Pytorch实现SRResNet代码修改无报错!踩坑全记录!适合各种深度学习新手!帮助你少走弯路!附修改后的代码和PSNR最优的模型权重文件!请配合上述论文精读文章使用,效果更佳!与原论文描述不一样的实现部分,也即可以修改的部分数据集使用:论文中是ImageNet随机选35000张图像,本文是VOC2012数据集16700张图像。数据集预处理:裁剪大小不同,论文是96×96,本文是88×88。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 6852

爬虫实战:拆解WASM加密参数,破局2026电商动态接口反爬(实测某头部电商可用)

sign和wasm_token,而且每次请求这两个参数都在动态变化。用常规的参数拼接、MD5加密尝试还原,结果全是403;反编译前端JS,发现核心加密逻辑被打包成了.wasm,把关键参数加密、签名逻辑藏在二进制模块里,让爬虫无法直接逆向JS拿到加密规则。前后折腾了5天,从WASM文件解析、JS与WASM交互逻辑拆解,到本地还原加密参数、实战验证,踩了无数坑(比如WASM版本不兼容、内存数据读取失败、加密依赖环境缺失),最终成功还原了加密流程,稳定爬取商品详情、价格、销量等核心数据,连续运行72小时无封禁。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1909

MySQL 常见存储引擎详解及面试高频考点

在 MySQL 数据库中,存储引擎是决定数据存储、读取、锁机制等核心能力的关键组件。不同存储引擎具备不同特性,适配的业务场景也大相径庭。本文将详细拆解 MySQL 常见存储引擎的特点与适用场景,并整理相关面试高频问题,助力大家夯实技术基础。

专注Java和MySQL领域知识分享 948

五步教你用GPT-5画出国自然技术路线图!轻松节省80%画图时间(附AI提示词)

七哥给大家推荐的高校都在用的AI平台——高级学术版专业应用平台,集成了ChatGPT、Claude、Gemini、Grok等Al大模型的PLUS版本平台,包括 ChatGPT-5、4o、o3、4.1、4.5、Gemini 2.5 Pro、Claude 3.7、Claude 4、DeepSeek 满血版、Grok 3 、Grok 4等原生线路,还有国际主流的GPTs学术应用,可以辅助大家高效完成科研和学术写作任务,当然撰写硕博论文,课题、职称论文、国社科、国自然基金本子也是手拿把掐。

智能AI让学术科研更容易 1494

MySQL常见考点总结

MySQL常见考点总结

allen的博客 1030

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql考试考点_mysql数据库常见考点语句

虽然有一款非常好用的可视化工具NAVICAT FOR MYSQ,但是必要的数据库语句还是要掌握的,下面我来介绍一个平时经常用到的一些语句。一、用户操作1、新建用户:CREATE USER name IDENTIFIED BY 'srm';2、更改密码:SET PASSWORD FOR name=PASSWORD('123456');二、数据库操作1、查看数据库:SHOW DATABASES;2、创...

weixin_35972981的博客 520

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

mysql添加字段在某字段之前_MySql 常见面试考点

不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而应该是在实际的业务场景下通过测试来验证你关于执行计划以及响应时间的假设。单条查询最后添加 LIMIT 1,停止全表扫描。对于char(4) 或者vachar(4),无论是中文还是英文都是存储四个字符,注意是字符而不是字节。如果一个字段未int类型,此类型只有0、1两个状态,需要为此建立索引吗?过度索引,影响更新速...

weixin_39837207的博客 2699

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

MySQL数据库的常见考点

mysql ACID 事务原理 MVCC原理 索引优化 索引原理

Qgchun. 1239

MySQL常见命令大全(高频考点+实用场景)

多表关联查询: select a.字段, b.字段 from 表a join 表b on a.关联字段 = b.关联字段;- grant 权限 on 库.表 to '用户名'@'主机';:授予权限(如 grant select,insert on test.student to 'user1'@'%';- set password for '用户名'@'主机' = password('新密码');- insert into 表名 values(值1,值2,...),(值3,值4,...);

2501_93324458的博客 1642

【MySQL】《MySQL高可用面试核心考点问答清单+常见陷阱题与易错点总结》

《MySQL高可用面试核心考点与陷阱精析》聚焦高可用本质——不只讲“不宕机”,更厘清数据一致性、故障自愈、延迟成因与方案选型。涵盖主从复制线程机制、GTID原理、半同步模式差异、MGR Paxos实现及25个高频陷阱(如Seconds_Behind_Master=0≠零延迟、MGR非强实时同步等),助你穿透概念,直击大厂面试要害。

小江的记录本 469

技术面面试高频考点总结-JAVA篇

大家好呀,这里是小黛!今天呀,来介绍大家最喜欢的Java篇,Java的八股文,可是非常非常非常庞大了,但,面试中常考的没那么多,今天就来介绍,面试中考察频率最高的Java面试题~本文,分了四个部分介绍,分别是Java基础JVM并发和框架,从四个角度对Java八股文进行分类,并展开介绍!1)贴近面试:几乎百分之百都是本人面试中遇到的问题;2)简洁实用:不会涵盖各个方面,但会包括每个专题下最重要的知识和最常考的知识。3)不给出官方标准答案。

qq_46046431的博客 1279

MySQL必考面试题——高频考点全解析

隔离性体现在A向B转账时,不受其他事务干扰。可以在MySQL的系统配置文件中开启慢查询日志,并设置SQL执行时间超过多少就记录到日志文件,比如我们之前项目设置的是2秒,超过这个时间的SQL就会记录在日志文件中,我们就可以在那里找到执行慢的SQL。:在使用索引时,我们遵循索引创建原则,确保索引字段是查询频繁的,使用复合索引覆盖SQL返回值,避免在索引字段上进行运算或类型转换,以及控制索引数量。5).尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率。

2401_84526799的博客 1054

面试大厂高频考点:多线程+MySQL+Redis+框架使用

金九银十快到了,即将进入找工作的高峰期,最新整理面试必问高频面试题:多线程+MySQL+Redis+数据结构算法答案总结,希望对想进BAT的同学有帮助,由于篇幅较长,建议收藏后细看~ 并发编程 1、并发编程三要素? 2、实现可见性的方法有哪些? 3、多线程的价值? 3、创建线程的有哪些方式? 4.创建线程的三种方式的对比? 5、线程的状态流转图 6.Java线程具有五中基本状态 ...

qq_36860032的博客 664

Mysql:最详细的介绍,万字长文带你了解

谈到Mysql,首先我们就需要知道SQL到底是什么,我们为什么要用SQL。Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。后面的介绍太长了,你只需要知道它是一门查询语言就可以了。通过SQL我们可以去定义和操作数据,维护数据的完整性和安全性。SQL有几种呢?1)DDL(Data Definition Language)数据定义语言,用来。

z1ztai的博客 734

MySQL数据库原理书籍做题学习总结

数据库书籍刷题总结

qq_67124455的博客 1861

MySQL 事务

MySQL 事务通过 ACID 特性确保数据可靠性,通过隔离级别和锁机制平衡并发与一致性。实际开发中需根据业务场景选择合适的隔离级别,优化事务逻辑和索引设计,避免锁竞争和性能瓶颈。对于分布式场景,需结合分布式事务方案(如 Seata、TCC)实现跨服务一致性。

weixin_61718800的博客 987

程序员面试必备之Java面试题:MySQL常见面试题汇总!

另外,还给大家准备了,220万字面试必备面试题题库,大家可以好好学习一下。shardingSphere相关。springSecurity相关。Spring WebFlux相关。ElasticSearch相关。MyBatisPlus相关。SpringCloud相关。SpringMVc源码相关。任务调度Airflow相关。Java企业架构体系相关。Kubernetes相关。postgresql相关。skywalking相关。SpringBoot相关。zookeeper相关。LIKE '%前缀'

程序员高级码农的博客 1156
上一篇: NIO概述
下一篇: gitlab项目仓库自动同步到github或者码云gitee
牧竹子
博客等级 码龄17年 572粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值