摘要:表空洞整理前数据: 表空洞整理后数据: 表空洞整理:alter table base_devicestate_0 engine=innodb;
阅读全文
摘要:随着业务的快速增长,业务体量变得越来越大,这个过程我们会碰到各种问题,倒逼着我们进行技术升级。 那今天我们来聊下,这个过程将会碰到关于数据的问题。 数据增长带来的烦恼 业务快速增长,业务表数据记录不断在增加,这就会带来两个问题。 第一,数据库数据最终将会保存在本地磁盘中,数据记录越多,磁盘占用空间就
阅读全文
摘要:原文地址:http://blog.720ui.com/2017/mysql_core_09_multi_db_table2/ 随着用户数的不断增加,以及数据量的不断增加,通过分库与分表的方式提高查询性能的同时,带来了一系列分布式困境。 数据迁移与扩容问题 前面介绍到水平分表策略归纳总结为随机分表和连
阅读全文
摘要:我们平时写sql的时候大家都知道基本该怎么写,写的是什么语义逻辑,但是其中select语句每一个关键字的执行顺序可能大家还有不知道的,今天看到的一个题目,就是问select的执行顺序;其实这个过程大概的情况其实可以推理出来的以下就是基本的推理过程: 1.你要有主表,也就要先执行from,这个是根基2
阅读全文
摘要:学习MySQL缓存之前,我们首先得了解一下MySQL的一个架构,分析完架构之后,我们开始深入了解缓存。 一、 MySQL架构 MySQL 数据库是单进程多线程的架构,和 SQL Server 类似,和 Oracle 不一样,Oracle 是多进程架构。下面我来看一下MySQL具体的架构图: MySQ
阅读全文
摘要:在此简单的记录一下,mysql的事务并发过程 首先创建一个parent表 create table parent ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID', `value` varchar(32) NOT NULL
阅读全文
摘要:此篇文章算是对mysql事务的一个总结,在了解这些之前我们先对mysql在执行的过程中 有一个整体的认识,如下图 如上图所示,MySQL服务器逻辑架构从上往下可以分为三层: (1)第一层:处理客户端连接、授权认证等。 (2)第二层:服务器层,负责查询语句的解析、优化、缓存以及内置函数的实现、存储过程
阅读全文
摘要:这篇文章主要介绍了MySQL用B+树作为索引结构有什么好处,帮助大家更好的理解和使用MySQL 索引,感兴趣的朋友可以了解下 前言 在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以
阅读全文
摘要:https://www.cnblogs.com/daiwei1981/p/9416087.html
阅读全文
摘要:1、指定分表关键字 例如:int_month int_day,每次查询是必须要带着分表关键字,根据分表关键字确定表明,例如user表,十月份的数据user_202110; 2、使用union all关联多个查询表。 例如:要查询两个的数据 使用union all关联, (select * from
阅读全文
摘要:mysql union 与 union all 语法及用法 1.mysql union 语法 mysql union 用于把来自多个select 语句的结果组合到一个结果集合中。语法为: select column,......from table1 union [all] select colum
阅读全文
摘要:前置概念 1.数据库中,数据在内存中叫data buffer,数据在磁盘上叫data file。 事务的日志也一样,在内存中叫log buffer,在磁盘上叫log file。 2.data buffer中的数据会在合适的时间 由存储引擎写入到data file。并不在事务提交时机制中。 3.che
阅读全文
摘要:1.两阶段提交 MySQL中经常说的WAL技术,WAL的全称是Write- Ahead Logging,它的关键点就是先写日志,再写磁盘。即当有一条记录需要更新时,InnoDB引擎就会先把记录写到redo log里,并更新内存,这个时候更新就完成了。因为如果每一次的更新操作都需要写进磁盘,然后磁盘也
阅读全文
摘要:Mysql的B+树索引在单列索引上比较好理解,结构如下: 那组合索引的B+树存储结构是什么样的呢,为什么会有最左前缀原理,看了很多帖子找到了答案 数据表 B+树结构b c d设置组合索引 对于联合索引来说只不过比单值索引多了几列,而这些索引列全都出现在索引树上。对于联合索引,存储引擎会首先根据第一个
阅读全文
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
阅读全文
摘要:这几天在面试各种各样的公司,很多面试题都有问到联合索引这个东西,但我之前确实是不知道怎么用联合索引的,于是我查阅了网上很多关于联合索引的解读和分析,主要研究的是,where、group by、order by对联合索引的使用情况是怎么样的。 创建一个表,包括c1,c2,c3,c4,c5字段 创建联合
阅读全文
摘要:如mysql介绍文档所知,mysql的数据类型及具体的存储长处如下表所示 数据类型 存储长度 TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMI
阅读全文
摘要:现在,随着上网人数的激增,一些大型的网站开始使用数据库集群来提高数据库的可靠性和数据库的性能。那么在介绍数据库集群之前首先需要弄清楚几个问题。 1.为什么要用数据库集群 (1)通过使用数据库集群可以使读写分离,提高数据库的系统性能。 大家都知道,mysql是支持分布式的。MySQL Proxy最强大
阅读全文
摘要:SQL子查询是嵌套在一个select语句中的另一个select语句。当需要从一个表中检索信息,检索条件值又是来自该表本身的内部数据时,子查询非常有用。子查询可以嵌入以下SQL子句中:Where子句、having子句和from子句。 例:查询工资比编号为7566雇员工资高的雇员姓名 Select en
阅读全文