
MySQL
文章平均质量分 95
一个优秀的废人
微信公众号:一个优秀的废人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试官:order by 是怎样排序的?怎么优化?
01 前言刚换了新工作,用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。这家企业的面试官有点意思,一面是个同龄小哥,一起聊了两个小时(聊到我嘴都干了)。二面是个从阿里出来的架构师,视频面试,我做完自我介绍之后,他一开场就问我:对 MySQL 熟悉吗?我一愣,随之意识到这是个坑。他肯定想问我某方面的原理了,恰好我研究过索引。就回答:对索引比较熟悉。他:原创 2021-07-16 12:58:27 · 1163 阅读 · 2 评论 -
面试官:数据库自增 ID 用完了会咋样?
01 前言哈喽,好久没更新啦。因为最近在面试。用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。这家企业的面试官有点意思,一面是个同龄小哥,一起聊了两个小时(聊到我嘴都干了)。他问了我一个有意(keng)思(b)问题:数据库中的自增 ID 用完了该怎么办?这个问题其实可以分为有主键 & 无主键两种情况回答。国际惯例,先上张脑图:1.1 往期精彩My原创 2021-07-13 13:31:21 · 402 阅读 · 0 评论 -
面试官:如何给字符串设计索引?
01 前言哈喽,好久没更新啦。因为最近在面试。用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。这家企业的面试官有点意思,一面是个同龄小哥,一起聊了两个小时(聊到我嘴都干了)。二面是个从阿里出来的架构师,他问了个场景题:数据库有个字符串类型的字段,存的是 URL 怎么设计索引?当时我给出拆分字段:url 的前半部分肯定区分度低,到了后半部分才高;我把区分度高和低的原创 2021-06-08 13:00:14 · 433 阅读 · 1 评论 -
女朋友问我:什么是 MySQL 的全局锁、表锁、行锁?
01 前言小胖真的让人不省心。继上次小胖误删数据之后,这次这货直接给我把整个表锁住了。页面无响应,用户疯狂投诉,我特么脸都绿了。。。事情是这样的,线上有个数据库几十万的数据,由于一开始没做好规划并没有给热点字段加索引。我就让小胖有空加个索引,没想到这货在用户使用高峰期加。。。知道原因,我还是比较淡定的。毕竟最近都在研究 MySQL,对于 MySQL 锁的问题解决起来还是得心应手。小胖见我三两下就解决了问题,客户也给出了卧槽,牛逼的肯定,忙问我怎么解决的,我点燃手中 82 年的华子深深吸了一口,花了几个原创 2021-04-19 11:25:50 · 290 阅读 · 0 评论 -
小胖问我:MySQL 事务与 MVCC 原理?
01 什么是事务?数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。在 MySQL 中,事务支持是在引擎层实现的。MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。1.1 四大特性原子性(Atomicity):事务开始后所有操作,要么全原创 2021-04-12 11:28:32 · 331 阅读 · 0 评论 -
《MySQL》系列 - 十张图详解 MySQL 日志(建议收藏)
01 前言事情是这样的,我负责我司的报表系统,小胖是我小弟。某天他手贱误删了一条生产的数据。被用户在群里疯狂投诉质问,火急火燎的跑来问我怎么办。我特么冷汗都出来了,训斥了他一顿:蠢,蠢得都可以进博物馆了,生产的数据能随便动?小胖看我平常笑嘻嘻的,没想到发这么大的火。心一急,居然给我跪下了:远哥,我上有老,下有小,中有女朋友,不要开除我呀。我一听火更大了:合着就你有女朋友???这个时候我们 DBA 老林来打圆场:别慌,年轻人管不住下本身,难免做错事。我可以把数据恢复到一个月内任意时刻的状态。听到这,小胖忙原创 2021-03-29 13:28:47 · 663 阅读 · 8 评论 -
《MySQL》系列 - select 查询语句到底是怎么执行的?
mysql 作为一个关系型数据库,在国内使用应该是最广泛的。也许你司使用 Oracle、Pg 等等,但是大多数互联网公司,比如我司使用得最多的还是 Mysql,重要性不言而喻。事情是这样的,某天我司小胖问我执行select * from table,数据库底层到底发生了啥?从而我们得到数据呢?以下把我给问住了,为此我查阅了大量的书籍、博客。于是就有了这篇文章。假设现在我有张 user 表,只有两列,一列 id 自增的,一列 name 是 varchar 类型。建表语句是这样的:CREATE TABL原创 2021-03-29 13:26:51 · 466 阅读 · 6 评论 -
《MySQL》系列-小胖要的 MySQL 索引详解(附 20 张图解)
mysql 作为一个关系型数据库,在国内使用应该是最广泛的。也许你司使用 Oracle、Pg 等等,但是大多数互联网公司,比如我司使用得最多的还是 Mysql,重要性不言而喻。事情是这样的,上一篇关于 MySQL 基础架构的文章发出以后,有小伙伴说能不能聊聊索引?日常工作中,我们遇到 sql 执行慢的时候,经常会收到这样的建议:“加个索引呗”。索引究竟是啥呢?它为啥能提高执行效率呢?这篇我们来聊聊~01 索引是什么?索引是一种数据结构,它的出现就是为了提高数据查询的效率,就像一本书的目录。想想一本书几原创 2021-03-16 20:42:36 · 679 阅读 · 0 评论 -
MySQL | SQL 语句是怎样执行的呢?
微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。前言高产似母猪,废话少说,今天刚好读到一篇关于 MySQL 语句底层如何执行的文章,以下是我的理解,分享给你们。简单的 SQL 语句mysql> select * from User where ID=10086;上面是一条非常简单的 SQL 查询语句,咋一看是不是觉得很简单,但却不懂它内部的执行流...原创 2019-01-05 23:58:41 · 297 阅读 · 0 评论