-
万字分享,我是如何一步一步监控公司MySQL的?
所属栏目:[MySql教程] 日期:2020-03-02 热度:89
写在前边 在家远程办公第三周,快被手机上的消息搞的有些神经质了,生怕错过一条有用的信息,没办法形势如此,公司摇摇欲坠大家也都如履薄冰,毕竟这时候失业有点惨( 穷怕了 )。 但就干活来说还是比较清闲的,和在公司上班相比,清闲下来很多碎片时间,[详细]
-
3种使用PostgreSQL命令的方式
所属栏目:[MySql教程] 日期:2020-02-22 热度:125
无论你需要的东西简单(如一个购物清单)亦或复杂(如色卡生成器) ,PostgreSQL 命令都能使它变得容易起来。 在 PostgreSQL 入门 一文中, 我解释了如何安装、设置和开始使用这个开源数据库软件。不过,使用 PostgreSQL 中的命令可以做更多事情。 例如,我[详细]
-
再问你一遍,你真的了解分布式事务吗?
所属栏目:[MySql教程] 日期:2020-02-22 热度:153
图片来自 Pexels 本地事务 事务 Transaction 由一组 SQL 组成,具有四个 ACID 特性: Atomicity:原子性,构成事务的一组SQL,要么全部生效,要么全不生效,不会出现部分生效的情况。 Consistency:一致性,数据库经过事务操作后从一种状态转变为另一个状[详细]
-
MySQL千万级大表优化,看这一篇就忘不掉了!
所属栏目:[MySql教程] 日期:2020-02-14 热度:173
千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议。 图片来自 Pexels 从一开始脑海里火光四现,到不断的自我批评,后来也[详细]
-
Redis的快照为什么不会阻塞其他请求?
所属栏目:[MySql教程] 日期:2020-02-14 热度:194
为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。 虽然我[详细]
-
8种最坑的SQL错误用法,你有没有踩过坑?
所属栏目:[MySql教程] 日期:2020-02-07 热度:53
分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 好吧,可能90%以上的 DBA 解决该问题就到[详细]
-
新来的实习生不小心删库了,吓得我虎躯一震!
所属栏目:[MySql教程] 日期:2020-02-07 热度:146
昨天下午看一篇程序员的搞笑文章,看到了删库跑路的段子,然后想起了自己曾经的经历,于是就想写写了。 图片来自 Pexels 记得是发生在 2013 年,具体日期记不清了。那时候,我们的存储系统已经成功在全部门铺开了,当时我们正准备着手进行第二轮的优化。[详细]
-
数据库迁移,要停机发布么?看看别家的程序员怎么做的
所属栏目:[MySql教程] 日期:2020-02-07 热度:62
本来以为过年了要好好写文章,因为疫情的关系,新增的不少的需求。希望这场疫情早日过去吧,武汉加油。今天我们来聊一聊数据库迁移,这个其实非常的常见,例如我们要从自己的机房将数据迁移到腾讯云或者阿里云这些线上服务,或者我们有时候需要把一个业务[详细]
-
2019年全球最受欢迎数据库新鲜出炉,你猜中了吗?
所属栏目:[MySql教程] 日期:2020-01-13 热度:52
DB-Engines 2019:MySQL 获得年度数据库称号 计算结果基于当前最新的分数(2020年1月)和2019年1月的分数差值获得。最终的结果代表了一个产品在2019 年的受欢迎程度。DB-Engines表示之所以采用分数而不是百分比作为评估的维度,是为了照顾在开始时受欢迎程度[详细]
-
数据库分库分表后,带来的这个难题,如何解决?
所属栏目:[MySql教程] 日期:2020-01-13 热度:127
在此之前我们介绍了数据库的分库分表问题,分库分表可以给我们带来非常好的扩展性与性能上的提升,但也随之带来一些问题,例如数据的主键ID分配问题。我们以Mysql为例,通常我们使用的是数据库的自增主键,我们在分表的时候也尽量保证业务上不需要跨表查询[详细]
-
Access、SQLite,我该如何选择?
所属栏目:[MySql教程] 日期:2020-01-06 热度:186
SQLite和Access,二者都是常用的轻型关系型数据库系统。在DB-Engines的数据库排名中,二者排名都比较靠前,名次也很接近,说明使用两种数据库的人群还都不少,很多朋友在二者之间难以选择。 SQLite:我虽渺小却锋利顽强! SQLite,是一款轻型的,遵守ACID的[详细]
-
“分库分表 不注意选型和流程的话,容易失控
所属栏目:[MySql教程] 日期:2020-01-06 热度:106
数据库中间件之分库分表 恭喜你,贵公司终于成长到一定规模,需要考虑高可用,甚至分库分表了。但你是否知道分库分表需要哪些要素?拆分过程是复杂的,提前计划,不要等真正开工,各种意外的工作接踵而至,以至失控。 本文意图打开数据库中间件的广度,而不[详细]
-
一文搞懂各种数据库SQL执行计划:MySQL、Oracle等
所属栏目:[MySql教程] 日期:2020-01-06 热度:109
执行计划(execution plan,也叫查询计划或者解释计划)是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等。如果 SQL 语句性能不够理想,我们首先应该查看它的执行计划。本文主要介绍如何在各种[详细]
-
几万年前,有一只猴子大闹地府后删库跑路...
所属栏目:[MySql教程] 日期:2019-12-25 热度:158
话说几万年前,有一只猴子在大闹地府删库跑路,导致地府几百年没缓过劲儿来...... 在知乎上冒出这么一个问题:孙悟空无姓无名的时候,阎王生死簿是怎么写的呢? 生死薄技术上如何实现?广大生灵在生死薄中的唯一标记是什么?阴间数据库是什么样一个数据库?于[详细]
-
Mybatis超详细插件机制解析,弄懂拦截器So easy
所属栏目:[MySql教程] 日期:2019-12-25 热度:198
概述 Mybatis插件又称拦截器,本篇文章中出现的拦截器都表示插件。 Mybatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了[详细]
-
MySQL数据库ORDER BY优化总结(为排序使用索引)
所属栏目:[MySql教程] 日期:2019-12-25 热度:110
在使用order by时,经常出现Using filesort,所以对于此类sql语句我们需要去尽力优化,使其尽量使用Using index。 那么,我们对于这类型的语句我们怎么去做优化呢?因为这一块还是比较容易混淆的,所以我弄了个实验,相信大家跟我一起做下实验就都能理解了~[详细]
-
别再问“分库分表”了,再问就崩溃了!
所属栏目:[MySql教程] 日期:2019-12-20 热度:144
在谈论数据库架构和数据库优化的时候,我们经常会听到分库分表,分库分表其实涉及到很多难题,今天我们来汇总一下数据库分库分表解决方案。 图片来自 Pexels 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。 当单[详细]
-
写一手好 SQL 很有必要
所属栏目:[MySql教程] 日期:2019-12-20 热度:198
其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高[详细]
-
一文带你了解 Redis 的慢日志相关底层原理
所属栏目:[MySql教程] 日期:2019-12-20 热度:107
相信很多小伙伴在使用 Redis 的时候都知道 Redis 有相关慢日志的查询功能,并且多多少少都看过。那 Redis 底层到底是如果创建慢日志以及慢日志的结构是什么样子的呢?这篇文章就带大家认识一下。我们先看一张慢日志的截图 使用slowlog get 2命令查看最近的[详细]
-
看这些MySQL的重要知识点,吃透它
所属栏目:[MySql教程] 日期:2019-10-31 热度:171
副标题#e# 序、什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Pu[详细]
-
如何去写一手好SQL
所属栏目:[MySql教程] 日期:2019-10-31 热度:167
副标题#e# MySQL性能 数据表设计 索引优化 SQL优化 其他数据库 博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不[详细]
-
在互联网大厂必须遵守的MySql开发军规
所属栏目:[MySql教程] 日期:2019-10-31 热度:172
核心 不在数据库做运算 单表数据量:一年内单表纯INT不超过1000W,含CHAR不超500W。单库不超过300~400表 表字段尽量少,上限控制在20~50个 适当可以冗余(平衡范式和冗余) 拒绝大sql,大事务,大批量 字段 数值类型的字节和运用范围 如果可以,将字符串转化[详细]
-
Spring事务传播属性有那么难吗?看这一篇就够了
所属栏目:[MySql教程] 日期:2019-10-31 热度:147
副标题#e# 笔者文笔功力尚浅,如有不妥,请慷慨指出,必定感激不尽 学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过几天就会忘记,接下来我们一起实践来学习Spring事务的传播属性。 传播属性 传播属性定义的是当一个事[详细]
-
详解Oracle数据库分布式事务ORA-01591错误解决方法
所属栏目:[MySql教程] 日期:2019-10-31 热度:197
最近在update某张表时突然提示了个比较少见的错误,ORA-01591,这个问题跟平时的锁还有点不一样,下面一起来看看吧~ 思路 这个错误是由于分布式事务引起,而不是普通的锁引起的,检查一般对象数据表锁定,只需要检查v$locked_object和v$transaction视图,就[详细]
-
Redis为什么默认16个数据库?
所属栏目:[MySql教程] 日期:2019-10-31 热度:168
在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。 一、16个数据库的由来 Redis是一个字典结构的存储服务器,一个Redis实例提供[详细]