数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

加载中
置顶
发表了博客
04/08 16:00

我是小M,老板不当人子(MySQL的故事)

我是小M,在卡拉巴拉星球。 是一个立志建立 MySQL 帝国的男人。 1 上回说到我入职了 Y 公司,建了个叫 B+ 树的玩意来管理数据。 但是老板最后加了个需求,他需要通过姓名来查询用户的信息。 用户结构 这....我是拿用户的 ID 来排序组装成索引的呀。 如果查询条件是姓名的话,这个索引就用不上了,那就得每页都翻阅过去,这就是全表扫描了呀! 查询的速度又会降下来了! 我盯着手上的奶茶思考了一会儿。 没办法,只能根据姓名再建... 展开更多

收藏 2
2
置顶
架构师
发表了博客
04/06 08:30

踩坑 MySQL 索引,看看你真的会用吗?

关于 MySQL 索引,对于研发同学,尤其是后端研发同学,一定不会陌生。我们工作中经常会用到 MySQL 数据库,就肯定会经常用到性能优化方面的设计和考量,常常用涉及到 MySQL 索引。但是关于 MySQL 索引,你真的用对了么? 对了,在开始正式知识点讲解之前,还需要来个不那么正式的自我介绍吧,哈哈哈~ 我多年后端研发经验,“混迹”于多个互联网大厂,专注软件架构技术研究学习,希望能够持续发挥自身多余的热量,将自己工作中的... 展开更多

收藏 12
1
置顶
发表了博客
03/31 09:50

我叫小M,立志建立MySQL帝国。

我是小M,我在卡拉巴拉星球。 我喜欢数据,我立志成为一个数据管理者。 所以我来 Y 公司应聘,听说他们的数据量挺大的。 面试过程还是挺简单的。 我用 007 这三个数字就轻易打败了一堆吹嘘 996 的应聘者。 此刻,我独领风骚。 # 1 今天是我第一天上班,我笔直地坐在工位上,等着老板的宠幸。 下午两点。 Y 老板推门而入,打着哈欠看着我:“007,你背有问题?坐得这么直?” “老板你好,我叫小M,不是叫 007 ,007 是我对公司的... 展开更多

收藏 11
7
置顶
发表了博客
03/26 10:53

面试官上来就问MySQL事务,瑟瑟发抖...

关于学习这件事情宁可花点时间系统学习,也不要东一榔头西一棒槌,都说学习最好的方式就是系统的学习,希望看完本文会让你对事务有一定的理解。`数据库版本为8.0` # 系列文章 [`1. 揭开MySQL索引神秘面纱` ](https://blog.csdn.net/fangkang7/article/details/113447632) [`2. MySQL查询优化必备` ](https://blog.csdn.net/fangkang7/article/details/113633367) [`3. 上来就问MySQL事务,瑟瑟发抖...`](https://blog.csdn.net... 展开更多

收藏 22
2
置顶
技术主管
发表了博客
03/16 16:16

MySQL 要分表分库怎么进行数据切分?

原文地址:MySQL 要分表分库怎么进行数据切分? 数据库分布式核心内容无非就是数据切分(Sharding)以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。 数据切分根据其切分类型,可以分为两种方式:垂直(纵向)切分和水平(横向)切分。 1.垂直(纵向)切分 垂直切分常见有垂直分库和垂... 展开更多

收藏 6
1
置顶
发表了博客
03/09 18:45

记一次mysql协议解析问题引发对索引的思考

近期负责的mysql mycat项目中接了一个需求,添加设置session级别的innodb_lock_wait_timeout,经过一番代码修改可以做到基本支持业务对for update的使用,但是到了测试环境发现出现个别sql会出现异常。 具体现象是当在A表加for update排他锁时,业务通过mycat请求mysql查询加锁的表,会报超时异常。但是在B表加for update锁时,业务发起请求会卡住,并没有报超时异常,但是mycat日志显示数据库正常返回1205,且正常返回了。 后面... 展开更多

收藏 2
3
置顶
发表了博客
03/08 11:22

常见的6种MySQL约束

摘要:一篇文章带你彻底了解MySQL各种约束 MySQL约束 <1> 概念 是一种限制,它是对表的行和列的数据做出约束,确保表中数据的完整性和唯一性。 <2> 使用场景 创建表的时候,添加约束 <3> 分类 default: 默认约束, 域完整性 not null: 非空约束,域完整性 unique: 唯一约束,实体完整性 primary key: 主键约束,实体完整性 foreign key: 外键约束,参照完整性 check: 检查约束(MySQL不支持),域完整性 auto_increment: 自增长约... 展开更多

收藏 6
0
置顶
发表了博客
03/05 20:31

一文带你了解MySql并发事务中的数据库锁、隔离级别、MVCC

![](https://cdn.jsdelivr.net/gh/leishen6/ImgHosting/MuZiLei_blog_img/20210303203449.png) ## 前言: > 最近同事开发时遇到了一个事务阻塞的问题,通过网上查询发现关于MySQL事务、锁这一块的资料都比较絮乱,让人看的云里雾里,所以借着这个机会,刚好也对这一块内容做一个总结梳理,希望能比较全面去写一下MySQL的并发事务处理。 #### 本文主线: - 简述事务的特性与隔离级别 - 聊聊MySql中各种类型的锁 - 然后再聊聊MVC... 展开更多

收藏 10
2
置顶
架构师
发表了博客
03/03 12:37

MySQL 学习二:MySQL 增删改查高级命令大全以及常见错误总结

文章目录 前言 一、连接到 MySQL 数据库 1.1、连接到本机上的 MySQL 1.2、连接到远程主机上的 MySQL 二、退出 MySQL 命令 三、修改 MySQL 密码 3.1、先给 root 用户加个密码 ab12 3.2、再将 root 用户的密码改为 djg345 四、增加新用户 4.1、增加一个可以在任何主机上登录用户 test1,密码为 abc,并对所有数据库有查询、插入、修改、删除的权限 4.2、增加一个只可以在 localhost 上登录用户 test2,密码为 abc,并可以对数据库... 展开更多

收藏 11
3
置顶
架构师
发表了博客
03/03 12:37

MySQL 学习一:零基础增删改查小白简单入门上手教程

文章目录 前言 一、MySQL 的相关概念介绍 二、Windows 下 MySQL 的配置 2.1、MySQL 配置步骤 2.2、MySQL 服务的启动、停止与卸载 三、MySQL 脚本的基本组成 四、MySQL 中的数据类型 4.1、数字类型 4.2、日期和时间 4.3、字符串类型 五、使用 MySQL 数据库 5.1、登录到 MySQL 5.2、创建一个数据库 5.3、选择所要操作的数据库 5.3.1、在登录数据库时指定使用数据库 5.3.2、在登录后使用 use 语句指定 5.4、创建数据库表 六、操作 ... 展开更多

收藏 6
1
置顶
架构师
发表了博客
03/03 12:37

MySQL 数据库图形化管理界面应用种草之 Navicat Premium 如何使用

文章目录 前言 一、工具/原料 二、安装和建立连接 2.1、连接本地数据库 2.2、连接远程数据库 三、Navicat Premium 的“增删改查”功能操作 3.1、数据库操作(基本) 3.1.1、新建数据库 3.1.2、删除数据库 3.1.3、修改数据库 3.1.4、查询数据库 3.2、数据库表格操作 3.2.1、新建数据库表 3.2.2、删除数据库表 3.2.3、修改数据表 3.2.4、查询数据库表 四、导入数据库(创建数据库) 4.1、运行 SQL 文件 4.2、数据传输 五、标记连接... 展开更多

收藏 2
1
置顶
架构师
发表了博客
03/03 12:35

MySQL 数据库添加数据时为什么会产生外码(外键)约束?原理就是什么?如何解决?

文章目录 前言 一、插入新数据时报错外键约束? 二、对于出错 SQL 语句的分析 三、对于外码约束的分析 四、如何处理外键约束? 总结 前言 我们在使用 MySQL 数据库时,添加数据如果设计不合理很容易出现外码约束的情况,为什么会产生这样的问题?那我们该如何处理这一问题呢?依据又是什么?本篇文章带你进一步来深度剖析,并带着你的思路来设计解决方案。 本次案例的案例情景是传统的数据库表:学生-课程数据库。 一、插入新数... 展开更多

收藏 0
0
置顶
架构师
发表了博客
03/03 12:14

MySQL 异常有这一篇就够了!MySQL 抛出异常的几种常见解决方式小结

Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database! 几种解决方式小结 文章目录 前言 一、代码配置的数据库名称或者密码与本地数据库不一致 1.1、错误产生描述 1.2、解决方式 二、导入的非本地项目文件与本地的数据库版本不匹配 2.1、错误产生描述 2.2、解决方式 三、MySQL 高版本配置加载驱动类包出错问题(以 My... 展开更多

收藏 5
1
置顶
后端工程师
发表了博客
02/24 14:47

正排倒排,不是Mysql的排序的全部

引言 春节前一个悠闲的上午,小航送了我,一袋每日坚果,他看我吃的正香,慢慢问道:”温哥,mysql的排序,有什么要注意的吗,不就是正排倒排吗?” 我一听他问我的问题,顿感每日坚果不香了,但是为了技术(mainzi),我装作大师的说道: “正排倒排,当然不是全部,你最少要知道,2个参数,1个优化,一种特殊情况” 注:东西不能乱吃啊 两个核心参数 sort_buffer_size 决定内排,外排。内排就是走内存,外排就是采用归并排序走... 展开更多

收藏 8
0
置顶
发表了博客
02/19 11:22

mysql一张表到底能存多少数据?

前言 程序员平时和mysql打交道一定不少,可以说每天都有接触到,但是mysql一张表到底能存多少数据呢?计算根据是什么呢?接下来咱们逐一探讨 知识准备 数据页 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB。同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB。(确切的说是InnoDB数据页大小16KB)。详细学习可以参考官网 我们可以用如下命令查询到。 mysql> SHOW GLOBAL ...... 展开更多

收藏 11
1
置顶
发表了博客
02/08 14:02

MySQL 排序的艺术:你真的懂 Order By 吗?

❝ 作者:宫水三叶。现微软工程师(Java 后端方向),退役 OIer。 更多和 MySQL 面试 & 算法相关内容可点击「这里」关注 ~ 更好的阅读体验,请 点击 查看原文 转载需关注公众号联系开白名单 ~ ❞ 前言 业务中的各种查询通常对应了用户所看到的各项列表,列表一般是根据某个维度进行排序。 换句话说,业务中使用 SELECT 语句的时候除了不可避免的搭配 WHERE 以外,还会配合 ORDER BY 进行使用。 今天来好好聊聊 MySQL 的 ORDER ... 展开更多

收藏 23
7
置顶
发表了博客
02/06 11:50

不会MySQL索引,面试官让回家等通知!

“ 索引是面试必不可少的内容,接下来带你进入MySQL索引的世界。 ” 1. Btree解析 2. B+Tree解析 3.Hash索引 4. B+Tree跟BTree区别 5. B+Tree适合做索引的原因 1. 回表 2. 覆盖索引 3. 最左匹配 4. 索引下推 前言 你是不是对于MySQL索引的知识点一直都像大杂烩,好像什么都知道,如果进行深究的话可能一个也答不上来。 假如你去面试,面试官让你聊一下对索引的理解,然而你对索引的理解仅限于,检索数据就是快,是一种数据结构这... 展开更多

收藏 19
1
置顶
高级程序员
发表了博客
01/27 16:05

Group by隐式排序,一个优美的BUG

  你在使用MySQL的Group by分组时,是否发现分组后的数据都是有序的?其实,在MySQL8.0版本前,优化器在分组查询时都会进行隐式排序。那既然隐式排序为什么还要保留Order by?隐式排序的目的又是什么呢?让我们一起来看看。 一、背景小故事   年前我们换了领导。俗话说,新官上任干总爱干傻事儿,这不,领导要拥抱新事物,要求我们更新项目MySQL版本,从MySQL5.7更新到MySQL8.0。不知是MySQL5.7不香了,还是领导你眼光高了?... 展开更多

收藏 2
1
置顶
发表了博客
01/26 11:01

基于Redo Log和Undo Log的MySQL崩溃恢复流程

在之前的文章「[简单了解InnoDB底层原理](https://mp.weixin.qq.com/s/-puz311svMVbBAdRioPrnQ)」聊了一下MySQL的Buffer Pool。这里再简单提一嘴,Buffer Pool是MySQL内存结构中十分核心的一个组成,你可以先把它想象成一个黑盒子。 ### 黑盒下的更新数据流程 当我们查询数据的时候,会先去Buffer Pool中查询。如果Buffer Pool中不存在,存储引擎会先将数据从磁盘加载到Buffer Pool中,然后将数据返回给客户端;同理,当我们更新... 展开更多

收藏 3
2
置顶
发表了博客
01/21 10:59

别在用offset和limit分页了

“ 终于要对MySQL优化下手了,本文将对分页进行优化说明,希望可以得到一个合适你的方案” 前言 分页这个话题已经是老生常谈了,但是有多少小伙伴一边是既希望优化的自己的系统,另一边在项目上还是保持自己独有的个性。 有个性 优化这件事是需要自己主动行动起来的,自己搞测试数据,只有在测试的路上才会发现更多你未知的事情。 本文咔咔也会针对分页优化这个话题进行解读。 一、表结构 这个数据库结构就是咔咔目前线上项目的... 展开更多

收藏 31
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
返回顶部
顶部