-
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实例提供[详细]
-
Java开发数据库设计的14个技巧,你知道几个?
所属栏目:[MySql教程] 日期:2019-10-31 热度:58
副标题#e# 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一[详细]
-
逃离Oracle的围城,焕发云数据库的新生
所属栏目:[MySql教程] 日期:2019-10-31 热度:92
正如行业人士预料,2019年是数据库发展历史上浓墨重彩的一笔,这一年,去O的呼声与行动达到了新的高峰。 AWS近日宣布其消费者业务已经彻底弃用Oracle,这是云厂商对传统数据库厂商的一次胜利。近7500个Oracle数据库中的75PB内部数据,全部迁移到AWS数据库[详细]
-
Spring Boot 2实战:使用Flyway管理你数据库的版本变更
所属栏目:[MySql教程] 日期:2019-10-31 热度:147
副标题#e# 1. 前言 随着项目的不断迭代,数据库表结构、数据都在发生着变化。甚至有的业务在多环境版本并行运行。数据为王的时代,管理好数据库的版本也成为了迫切的需要。如何能做到像 Git 之类的版本控制工具来管理数据库?Java 项目中常用 Flyway 和 Liq[详细]
-
详解Oracle数据库表空间设计--ASM/BFT/OMF综合使用
所属栏目:[MySql教程] 日期:2019-10-28 热度:52
副标题#e# 为满足海量数据的高性能、易管理性等综合需求,很多项目在表空间设计方面,基本都会综合采用ASM、OMF和大表空间技术,下面分别介绍一下这几个概念。 1. ASM ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己[详细]
-
记一次找因Redis使用不当导致应用卡死Bug的过程
所属栏目:[MySql教程] 日期:2019-10-28 热度:142
副标题#e# 首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能[详细]
-
分享一份大佬的MySQL数据库设计规范,值得收藏
所属栏目:[MySql教程] 日期:2019-10-28 热度:113
副标题#e# MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。无意中从github上看到一个大佬的MySQL数据库设计规范,顺便在这里分享一下。 https://github.com/jly8866/ar[详细]
-
MySQL同步复制及高可用方案总结
所属栏目:[MySql教程] 日期:2019-10-27 热度:170
副标题#e# 1.前言 mysql作为应用程序的数据存储服务,要实现mysql数据库的高可用。必然要使用的技术就是数据库的复制,如果主节点出现故障可以手动的切换应用到从节点,这点相信运维同学都是知道,并且可以实现的。但是这种情况只是手动的切换,对可用性有[详细]
-
详解Oracle数据库硬解析、软解析、软软解析联系与区别
所属栏目:[MySql教程] 日期:2019-10-27 热度:191
副标题#e# 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 Oracle数据库硬解析和软解析有相同的一步,而软软解析与硬解析、软解析完全不一样。 一、sql解析 这里我们先简单sql语句执行步骤: 语法检查(syntax check) 语义检查(symantic[详细]
-
Redis的这八个问题,验证你是否精通!
所属栏目:[MySql教程] 日期:2019-10-27 热度:160
副标题#e# 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 1、为什么使用Redis 分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功[详细]
-
实践出真知,看我们如何化解DynamoDB的挑战
所属栏目:[MySql教程] 日期:2019-10-27 热度:78
副标题#e# 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 DynamoDB 是 Amazon 基于《 Dynamo: Amazons Highly Available Key-value Store 》实现的 NoSQL 数据库服务。它可以满足数据库无缝的扩展,可以保证数据的持久性以及高可用性。[详细]