-
MySQL千万级大表优化,看这一篇就忘不掉了!
所属栏目:[MySql教程] 日期:2020-02-16 热度:56
副标题#e# 千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议。 图片来自 Pexels 从一开始脑海里火光四现,到不断的自我批[详细]
-
8种最坑的SQL错误用法,你有没有踩过坑?
所属栏目:[MySql教程] 日期:2020-02-09 热度:74
副标题#e# 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 好吧,可能90%以上的 DBA 解决[详细]
-
新来的实习生不小心删库了,吓得我虎躯一震!
所属栏目:[MySql教程] 日期:2020-02-09 热度:57
昨天下午看一篇程序员的搞笑文章,看到了删库跑路的段子,然后想起了自己曾经的经历,于是就想写写了。 图片来自 Pexels 记得是发生在 2013 年,具体日期记不清了。那时候,我们的存储系统已经成功在全部门铺开了,当时我们正准备着手进行第二轮的优化。[详细]
-
数据库迁移,要停机发布么?看看别家的程序员怎么做的
所属栏目:[MySql教程] 日期:2020-02-09 热度:52
本来以为过年了要好好写文章,因为疫情的关系,新增的不少的需求。希望这场疫情早日过去吧,武汉加油。今天我们来聊一聊数据库迁移,这个其实非常的常见,例如我们要从自己的机房将数据迁移到腾讯云或者阿里云这些线上服务,或者我们有时候需要把一个业务[详细]
-
2019年全球最受欢迎数据库新鲜出炉,你猜中了吗?
所属栏目:[MySql教程] 日期:2020-01-14 热度:152
副标题#e# DB-Engines 2019:MySQL 获得年度数据库称号 计算结果基于当前最新的分数(2020年1月)和2019年1月的分数差值获得。最终的结果代表了一个产品在2019 年的受欢迎程度。DB-Engines表示之所以采用分数而不是百分比作为评估的维度,是为了照顾在开始时[详细]
-
一文搞懂各种数据库SQL执行计划:MySQL、Oracle等
所属栏目:[MySql教程] 日期:2020-01-10 热度:178
副标题#e# 执行计划(execution plan,也叫查询计划或者解释计划)是数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等。如果 SQL 语句性能不够理想,我们首先应该查看它的执行计划。本文主要介绍如[详细]
-
“分库分表 不注意选型和流程的话,容易失控
所属栏目:[MySql教程] 日期:2020-01-10 热度:171
副标题#e# 数据库中间件之分库分表 恭喜你,贵公司终于成长到一定规模,需要考虑高可用,甚至分库分表了。但你是否知道分库分表需要哪些要素?拆分过程是复杂的,提前计划,不要等真正开工,各种意外的工作接踵而至,以至失控。 本文意图打开数据库中间件的[详细]
-
Access、SQLite,我该如何选择?
所属栏目:[MySql教程] 日期:2020-01-10 热度:64
SQLite和Access,二者都是常用的轻型关系型数据库系统。在DB-Engines的数据库排名中,二者排名都比较靠前,名次也很接近,说明使用两种数据库的人群还都不少,很多朋友在二者之间难以选择。 SQLite:我虽渺小却锋利顽强! SQLite,是一款轻型的,遵守ACID的[详细]
-
几万年前,有一只猴子大闹地府后删库跑路...
所属栏目:[MySql教程] 日期:2019-12-26 热度:71
副标题#e# 话说几万年前,有一只猴子在大闹地府删库跑路,导致地府几百年没缓过劲儿来...... 在知乎上冒出这么一个问题:孙悟空无姓无名的时候,阎王生死簿是怎么写的呢? 生死薄技术上如何实现?广大生灵在生死薄中的唯一标记是什么?阴间数据库是什么样一个[详细]
-
Mybatis超详细插件机制解析,弄懂拦截器So easy
所属栏目:[MySql教程] 日期:2019-12-26 热度:198
副标题#e# 概述 Mybatis插件又称拦截器,本篇文章中出现的拦截器都表示插件。 Mybatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插[详细]
-
MySQL数据库ORDER BY优化总结(为排序使用索引)
所属栏目:[MySql教程] 日期:2019-12-26 热度:98
副标题#e# 在使用order by时,经常出现Using filesort,所以对于此类sql语句我们需要去尽力优化,使其尽量使用Using index。 那么,我们对于这类型的语句我们怎么去做优化呢?因为这一块还是比较容易混淆的,所以我弄了个实验,相信大家跟我一起做下实验就都[详细]
-
一文带你了解 Redis 的慢日志相关底层原理
所属栏目:[MySql教程] 日期:2019-12-25 热度:154
副标题#e# 相信很多小伙伴在使用 Redis 的时候都知道 Redis 有相关慢日志的查询功能,并且多多少少都看过。那 Redis 底层到底是如果创建慢日志以及慢日志的结构是什么样子的呢?这篇文章就带大家认识一下。我们先看一张慢日志的截图 使用slowlog get 2命令查[详细]
-
写一手好 SQL 很有必要
所属栏目:[MySql教程] 日期:2019-12-25 热度:133
副标题#e# 其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高[详细]
-
别再问“分库分表”了,再问就崩溃了!
所属栏目:[MySql教程] 日期:2019-12-25 热度:187
副标题#e# 在谈论数据库架构和数据库优化的时候,我们经常会听到分库分表,分库分表其实涉及到很多难题,今天我们来汇总一下数据库分库分表解决方案。 图片来自 Pexels 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有[详细]
-
Redis为什么默认16个数据库?
所属栏目:[MySql教程] 日期:2019-11-04 热度:106
在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。 一、16个数据库的由来 Redis是一个字典结构的存储服务器,一个Redis实例提供[详细]
-
Java开发数据库设计的14个技巧,你知道几个?
所属栏目:[MySql教程] 日期:2019-11-04 热度:164
副标题#e# 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一[详细]
-
逃离Oracle的围城,焕发云数据库的新生
所属栏目:[MySql教程] 日期:2019-11-04 热度:99
正如行业人士预料,2019年是数据库发展历史上浓墨重彩的一笔,这一年,去O的呼声与行动达到了新的高峰。 AWS近日宣布其消费者业务已经彻底弃用Oracle,这是云厂商对传统数据库厂商的一次胜利。近7500个Oracle数据库中的75PB内部数据,全部迁移到AWS数据库[详细]
-
Spring Boot 2实战:使用Flyway管理你数据库的版本变更
所属栏目:[MySql教程] 日期:2019-11-04 热度:169
副标题#e# 1. 前言 随着项目的不断迭代,数据库表结构、数据都在发生着变化。甚至有的业务在多环境版本并行运行。数据为王的时代,管理好数据库的版本也成为了迫切的需要。如何能做到像 Git 之类的版本控制工具来管理数据库?Java 项目中常用 Flyway 和 Liq[详细]
-
MySQL事务,这篇文章就够了
所属栏目:[MySql教程] 日期:2019-11-04 热度:172
副标题#e# 0 什么是事务 事务(Transaction) 是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都 执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每 个事务结束时,都能保持数据一致性。 同时,[详细]
-
详解Oracle11g和12c的v$pwfile_user视图及区别
所属栏目:[MySql教程] 日期:2019-11-04 热度:68
V$PWFILE_USERS 列出的是password文件里已授予sysdba、sysoper权限的用户,如果查询没有记录,那就有可能没有了password文件了,没有了密码文件当然sqlplus sys/xx as sysdba这种用sys用sysdba用户就无法登录了。下面介绍一下11g和12c的v$pwfile_user视图[详细]
-
MySQL如何实时性能分析,诊断性能瓶颈
所属栏目:[MySql教程] 日期:2019-11-04 热度:110
一、概述 spotlight _on_mysql是mysql性能监控一个不错的小工具,它无需在要监控的机器上安装任何软件或客户端,只要提供mysql的连接的账号和连接地址,即可实现对mysql的性能监控。友好直观的图形界面,能帮你迅速发现潜在的性能瓶颈。 二、部署过程 2.1 前提[详细]
-
分享几个常用的Oracle 11g内存视图脚本
所属栏目:[MySql教程] 日期:2019-11-04 热度:148
今天主要分享几个关于Oracle数据库的内存视图的脚本,仅供参考。 一、V$MEMORY_DYNAMIC_COMPONENTS V$MEMORY_DYNAMIC_COMPONENTSdisplaysinformationaboutthedynamicSGAcomponents.ThisviewsummarizesinformationbasedonallcompletedSGAresizeoperationssi[详细]
-
一步一步带你入门MySQL中的索引和锁
所属栏目:[MySql教程] 日期:2019-11-04 热度:145
副标题#e# 索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等。本文主要探讨 MySQL 的默认存储引擎 InnoDB 的索引结构。 InnoDB的索引结构 在InnoDB中是通过一种多路搜索树B+树实现索引结构的。在B+树中是只有叶子结[详细]
-
MongoDB一次节点宕机引发的思考
所属栏目:[MySql教程] 日期:2019-11-04 热度:141
副标题#e# 简介 最近一个 MongoDB 集群环境中的某节点异常下电了,导致业务出现了中断,随即又恢复了正常。 通过ELK 告警也监测到了业务报错日志。 运维部对于节点下电的原因进行了排查,发现仅仅是资源分配上的一个失误导致。 在解决了问题之后,大家也对[详细]
-
详解MySQL数据库Innodb内存结构和其是如何使用内存的?
所属栏目:[MySql教程] 日期:2019-11-04 热度:189
副标题#e# 概述 很多朋友可能会有许多关于Innodb如何使用内存的问题。我这里将简单介绍一下innodb内存结构,然后以innodb启动时的分配情况做一个解释。 1. INNODB内存结构 (1) 聚集索引与非聚集索引: 聚集索引:主键,有序,存储顺序与内存一致 非聚集索引[详细]