数据库
awesome_go
这个作者很懒,什么都没留下…
展开
-
mysql 索引失效的情况
一 索引自身出问题1) 索引本身失效2) 没有查询条件,或者查询条件没有建立索引3) 在查询条件上没有使用引导列4) 对小表查询5) 查询的数量是大表中的大部分数据。二 受查询条件的影响5)对列使用函数,该列的索引将不起作用。如:substring(字段名,1,2)='xxx';6)对列进行运算(+,-,*,/,! 等),该列的索引将不起作用。...原创 2019-12-14 11:42:30 · 100 阅读 · 0 评论 -
阿里云RDS&DRDS初探
简介RDS阿里云关系型数据库(Relational Database Service,简称 RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和高性能存储,RDS 支持 MySQL、SQL Server、PostgreSQL 和 PPAS(Postgre Plus Advanced Server,一种高度兼容 Oracle 的数据库)引擎,并且提供了容灾、备份、...原创 2019-03-25 11:00:33 · 15578 阅读 · 0 评论 -
Sharding-JDBC 原理以及相关入门
基于关系型数据库的水平扩展方案有很多开源的解决方案,但成熟稳定的产品凤毛麟角。当当自研的数据库中间层Sharding-JDBC在公司内部已广泛使用,并在开源社区推广且初见成果。目前的 Sharding-JDBC 已经历从初出茅庐到稳定运行,再到变革的关键点。Sharding-JDBC 采用在 JDBC 协议层扩展分库分表,是一个以 jar 形式提供服务的轻量级组件,其核心思路是小而美地完成...转载 2019-03-25 15:03:58 · 1270 阅读 · 0 评论 -
mysql 优化原理
阅读目录(Content)一、MySQL逻辑架构 二、MySQL查询过程 三、客户端/服务端通信协议 四、查询缓存 五、语法解析和预处理 六、查询优化 七、查询执行引擎 八、返回结果给客户端 九、性能优化建议 9.1、Scheme设计与数据类型优化 9.2、创建高性能索引 9.3、索引相关的数据结构和算法 十...原创 2019-03-27 15:08:07 · 201 阅读 · 0 评论 -
SpringBoot配置多数据源
spring本身是支持多数据源动态切换的,AbstractRoutingDataSource这个抽象类就是spring提供的一个数据源路由的一个入口,该抽象类暴露了一个determineCurrentLookupKey()的方法,该方法返回值是Object,该返回值作为key去取Map中的DataSource。AbstractRoutingDataSourcegetConnec...原创 2019-05-15 16:17:26 · 619 阅读 · 0 评论 -
redo undo 和 binlog 有什么作用
MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要...原创 2019-09-20 15:35:54 · 472 阅读 · 0 评论 -
浅析MySQL事务中的redo与undo
我们都知道事务有4种特性:原子性、一致性、隔离性和持久性,在事务中的操作,要么全部执行,要么全部不做,这就是事务的目的。事务的隔离性由锁机制实现,原子性、一致性和持久性由事务的redo 日志和undo 日志来保证。所以本篇文章将讨论关于事务中的redo和undo的几个问题:redo 日志与undo日志分别是什么? redo 如何保证事务的持久性? undo log 是否是redo log的...原创 2019-09-20 17:03:45 · 304 阅读 · 0 评论 -
mysql mvcc 原理
MVCC(Multi Version Concurrency Control的简称),代表多版本并发控制。与MVCC相对的,是基于锁的并发控制,Lock-Based Concurrency Control)。MVCC最大的优势:读不加锁,读写不冲突。在读多写少的OLTP应用中,读写不冲突是非常重要的,极大的增加了系统的并发性能了解MVCC前,我们先学习下Mysql架构和数据库事务隔离级别...原创 2019-09-20 17:48:22 · 124 阅读 · 0 评论 -
mysql join该不该使用,怎样高效使用
在实际生产中,关于join语句使用的问题,一般会集中在以下两类: 我们DBA不让使用join,使用join有什么问题呢? 如果有两个大小不同的表做join,应该用哪个表做驱动表呢? 今天这篇文章,我就先跟你说说join语句到底是怎么执行的,然后再来回答这两个问题。为了便于量化分析,我还是创建两个表t1和t2来和你说明。CREATE TABLE `t2` ( `id...原创 2019-09-23 17:14:38 · 1152 阅读 · 1 评论