作者:小林coding图解网站:https://xiaolincoding.com/大家好,我是小林。面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如:索引底层使用了什么数据结构和算法?为什么 MySQL InnoDB 选择 B+tree 作为索引的数据结构?什么时候适用索引?什么时候不需要创建索引?什么
......
336
0
0
2022-12-12
八股文网站:xiaolincoding.com作为在后端圈开车的多年老司机,是不是经常听到过:“MySQL 单表最好不要超过 2000w”“单表超过 2000w 就要考虑数据迁移了”“你这个表数据都马上要到 2000w 了,难怪查询速度慢”这些名言民语就和 “群里只讨论技术,不开车,开车速度不要超过 120 码,否则自动踢群”,只听过,没试过,哈哈。下面我们
......
355
0
0
2022-12-12
作者:小林coding八股文网站:xiaolincoding.com大家好,我是小林。大家误以为「插入意向锁」是意向锁,也就是表锁,确实这个名字很让人误解。但是,实际上「插入意向锁」不是意向锁,而是特殊的间隙锁,属于行级锁,注意是「特殊」的间隙锁,并不是我们常说的间隙锁。所以,我在原来文章的基础上补充了两个知识点:什么是插入意向锁?insert 语句是怎么加
......
392
0
0
2022-12-12
前言这段时间在维护产品的搜索功能,每次在管理台看到 elasticsearch 这么高效的查询效率我都很好奇他是如何做到的。这甚至比在我本地使用 MySQL 通过主键的查询速度还快。为此我搜索了相关资料:这类问题网上很多答案,大概意思呢如下:ES 是基于 Lucene 的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于 MySQL
......
355
0
0
2022-12-12
众所周知,数据库很容易成为应用系统的瓶颈。单机数据库的资源和处理能力有限,在高并发的分布式系统中,可采用分库分表突破单机局限。本文总结了分库分表的相关概念、全局ID的生成策略、分片策略、平滑扩容方案、以及流行的方案。1 分库分表概述在业务量不大时,单库单表即可支撑。 当数据量过大存储不下、或者并发量过大负荷不起时,就要考虑分库分表。1.1 分库分表相关术语读
......
385
0
0
2022-12-12
1 回顾在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。读未提交:一个事务可以读取到另一个事务未提交的修改。这会带来脏读、幻读、不可重复读问题。(基本没用)读已提交:一个事务只能读取另一个事务已经提交的修改。其避免了脏读,但仍然存在不可重复读和幻读问题。可重复读:同一个事务中多次读取相同的数
......
373
0
0
2022-12-10
谁消耗了我的cpu?谁在消耗cpu?祸首是谁?用户用户空间CPU消耗,各种逻辑运算❝正在进行大量tps 函数/排序/类型转化/逻辑IO访问… ❞用户空间消耗大量cpu,产生的系统调用是什么?那些函数使用了cpu周期?IO等待等待IO请求的完成❝此时CPU实际上空闲 ❞如vmstat中的wa 很高。但IO等待增加,wa也不一定会上升(请求I/O后等待响应,但进
......
354
0
0
2022-12-10
什么是事务?数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由开始和结束之间执行的全部数据库操作组成。这是百科的定义,也是我们在面试的时候最常回答的关键字。可以这么说:事务是数据库执行过程的一个逻辑单位,由一个有限的数据库操作序列组成。举例来说,当我们购
......
481
0
0
2022-12-10
0 什么是事务事务(Transaction) 是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都 执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每 个事务结束时,都能保持数据一致性。同时,事务有着严格的地定义,必须满足四个特性,也就是我们一直说的ACID,但是,并不是说各种数据库就一定会满足四个特性,对于
......
411
0
0
2022-12-10
数据库基础知识1. 为什么要使用数据库数据保存在内存优点:存取速度快缺点:数据不能永久保存数据保存在文件优点:数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便2. 什么是SQL?结构化查询语言(Structured Query Language)简称
......
482
0
0
2022-12-10
MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 InnoDB 的内部实现机制,MySQL 版本为 5.7.24,操作系统为 Debian 9。MySQL InnoDB 的实现非常复杂,本文只是总结了一些皮毛,希望以后能够研究的更加深入些。1、InnoDB 架构Innodb 架构图InnoDB 的架构分为两块:内存
......
324
0
0
2022-12-10
表要求:有PrimaryKey,或者unique索引结果:表id都会自增测试代码创建表CREATE TABLE names(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) UNIQUE,
age INT(10)
)
插入数据mysql> insert
......
346
0
0
2022-12-10
1、MySQL中myisam与innodb的区别MyISAM:不支持事务,但是每次查询都是原子的;支持表级锁,即每次操作对整个表加锁;存储表的总行数;一个MYISAM表有三个文件:索引文件、表结构文件、数据文件;采用非聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。InnoDb:支持ACID的事务,支持事务
......
494
0
0
2022-12-10
1.drop,delete与truncate的区别相同点:truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:truncate会清除表数据并重置id从1开始,delete就只删除记录,drop可以用来删除表或数据库并且将表所占用的空间全部释放truncate和delete只删除数据不删除表的结构。drop语句将删除表的结
......
468
0
0
2022-12-10
一个典型的互联网产品架构包含接入层、逻辑处理层以及存储层,其中存储层承载着数据落地和持久化的任务,同时给逻辑处理层提供数据查询功能支持。说到存储层就要说到数据库,数据库知识掌握程度也是面试考察的知识点。典型服务架构数据库分为关系型数据库和非关系型数据库,也就是我们常说的 SQL 和 NoSQL,这两个方向的数据库代表产品分别是 MySQL 和 Redis ,
......
470
0
0
2022-12-10