摘要:什么是悲观锁 在关系数据库管理系统中,悲观并发控制(悲观锁,PCC)是一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作的每行数据应用了锁,那只有当这个事务锁释放,其他事务才能够执行与该锁冲突的操作 悲观并发控制主要应用于数据争用激烈的环境,以及发生并发冲突 阅读全文
posted @ 2020-03-26 15:57 秋天的风,夏天的雨 阅读(22) 评论(0) 推荐(0) 编辑
摘要:已经连续被问过2次了......... 在此简单讲: MySQL 中有四种事务隔离级别,它们分别是: read uncommited:未提交读,读到未提交数据; read committed:读已提交,也叫不可重复读,两次读取到的数据不一致; repetable read:可重复读; seriali 阅读全文
posted @ 2020-03-26 15:28 秋天的风,夏天的雨 阅读(29) 评论(0) 推荐(0) 编辑
摘要:哎~ 这都算是最最简单的问题了 事务是什么? 事务是一系列的数据库操作,是数据库应用的基本单位。MySQL 事务主要用于处理操作量大,复杂度高的数据。 事务有哪些特性? 在 MySQL 中只有 InnDB 引擎支持事务,它的四个特性如下: 原子性(Atomic):要么全部执行,要么全部不执行; 一致 阅读全文
posted @ 2020-03-26 15:22 秋天的风,夏天的雨 阅读(27) 评论(0) 推荐(0) 编辑
摘要:灵魂3连问: 什么是前缀索引? 前缀索引也叫局部索引,比如给身份证的前 10 位添加索引,类似这种给某列部分信息添加索引的方式叫做前缀索引。 为什么要用前缀索引? 前缀索引能有效减小索引文件的大小,让每个索引页可以保存更多的索引值,从而提高了索引查询的速度。但前缀索引也有它的缺点,不能在 order 阅读全文
posted @ 2020-03-26 15:14 秋天的风,夏天的雨 阅读(122) 评论(0) 推荐(2) 编辑
摘要:又是重复的简单来说: 联合索引又叫复合索引,MySQL 中的联合索引,遵循最左匹配原则,比如,联合索引为 key(a,b,c),则能触发索引的搜索组合是 a|ab|abc 这三种查询。 联合索引的作用是什么? 联合索引的作用如下: 用于多字段查询,比如,建了一个 key(a,b,c) 的联合索引,那 阅读全文
posted @ 2020-03-26 15:04 秋天的风,夏天的雨 阅读(94) 评论(0) 推荐(0) 编辑
摘要:MySQL 的索引有两种分类方式:逻辑分类和物理分类。 按照逻辑分类,索引可分为: 主键索引:一张表只能有一个主键索引,不允许重复、不允许为 NULL; 唯一索引:数据列不允许重复,允许为 NULL 值,一张表可有多个唯一索引,但是一个唯一索引只能包含一列,比如身份证号码、卡号等都可以作为唯一索引; 阅读全文
posted @ 2020-03-26 13:25 秋天的风,夏天的雨 阅读(89) 评论(0) 推荐(0) 编辑
摘要:要说回表查询,先要从InnoDB的索引实现说起。InnoDB有两大类索引,一类是聚集索引(Clustered Index),一类是普通索引(Secondary Index)。 InnoDB的聚集索引 InnoDB聚集索引的叶子节点存储行记录,因此InnoDB必须要有且只有一个聚集索引。 1.如果表定 阅读全文
posted @ 2020-03-26 13:16 秋天的风,夏天的雨 阅读(71) 评论(0) 推荐(0) 编辑
摘要:简介: count()函数用来统计表的行数,也就是统计记录行数,很好理解的,但面试你这么说就有点单薄了。 count()函数具体情况下的各种分析: 各类面试题总结了一下,应该遇到的话不会怕了: 1)为什么 InnoDB 不把总条数记录下来,查询的时候直接返回呢? 因为 InnoDB 使用了事务实现, 阅读全文
posted @ 2020-03-26 11:09 秋天的风,夏天的雨 阅读(89) 评论(0) 推荐(0) 编辑
摘要:再简单来讲: MySQL 中支持两种模糊查询:regexp 和 like,like 是对任意多字符匹配或任意单字符进行模糊匹配,而 regexp 则支持正则表达式的匹配方式,提供比 like 更多的匹配方式。 regexp 和 like 的使用示例如下: select * from person w 阅读全文
posted @ 2020-03-26 11:04 秋天的风,夏天的雨 阅读(26) 评论(0) 推荐(0) 编辑
摘要:简单点来讲: 在 MySQL 的命令行中使用 show processlist; 查看所有连接,其中 Command 列显示为 Sleep 的表示空闲连接,如下图所示: 哎 真是面试官什么都问。 绝对是看你了解的广度了。 阅读全文
posted @ 2020-03-26 10:58 秋天的风,夏天的雨 阅读(85) 评论(0) 推荐(0) 编辑
摘要:简单点来讲,总是开篇简单讲,其实有的面试简单说一下就够啦,其实面试官就问你一下了解不了解。 覆盖索引是指,索引上的信息足够满足查询请求,不需要再回到主键上去取数据。 下面详细的讲一下: 覆盖索引必须要存储索引列的值,而哈希索引、空间索引和全文索引不存储索引列的值,所以mysql只能用B-tree索引 阅读全文
posted @ 2020-03-26 10:32 秋天的风,夏天的雨 阅读(61) 评论(0) 推荐(0) 编辑
摘要:简单点来说: 共享表空间:指的是数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在 data 目录下。 独立表空间:每一个表都将会生成以独立的文件方式来进行存储。 共享表空间和独立表空间最大的区别是如果把表放再共享表空间,即使表删除了空间也不会删除,所以表依然很大,而独 阅读全文
posted @ 2020-03-26 10:02 秋天的风,夏天的雨 阅读(107) 评论(0) 推荐(0) 编辑
摘要:简单点说: 以下情况会导致 MySQL 自增主键不能连续: 唯一主键冲突会导致自增主键不连续; 事务回滚也会导致自增主键不连续。 相关面试题总结如下: 一:自增主键是连续的么? - 自增主键不能保证连续递增。 二:自增值保存在哪里? 当使用 show create table `table_name 阅读全文
posted @ 2020-03-26 09:30 秋天的风,夏天的雨 阅读(73) 评论(0) 推荐(0) 编辑
摘要:额,这里我们先来简单地聊一下: InnoDB 和 MyISAM 最大的区别是 InnoDB 支持事务,而 MyISAM 不支持事务,它们主要区别如下: 1)InnoDB 支持崩溃后安全恢复,MyISAM 不支持崩溃后安全恢复; 2)InnoDB 支持行级锁,MyISAM 不支持行级锁,只支持到表锁; 阅读全文
posted @ 2020-03-26 09:12 秋天的风,夏天的雨 阅读(36) 评论(0) 推荐(1) 编辑
摘要:先来个最基本的总结阐述,希望各位小伙伴认真的读一下,哈哈: 1)客户端(运行程序)先通过连接器连接到MySql服务器。 2)连接器通过数据库权限身份验证后,会先查询数据库缓存是否存在(之前执行过相同条件的SQL查询),如果有会直接返回缓存中的数据。如果没有则会进入分析器。 3)进入分析器后会对查询语 阅读全文
posted @ 2020-03-26 08:36 秋天的风,夏天的雨 阅读(394) 评论(0) 推荐(0) 编辑