[TOC] 1. 前置知识 1.1 InnoDB 索引结构 InnoDB 索引使用的数据结构是 "B+ 树" 。 百度百科中的结构图: 一个 m 阶 树的几个特点: 1. 每个节点可能有最多 m 个子节点 2. 除根结点外,每个结点至少有 个子女,根结点至少有两个子女 3. 有 k 个子女的结点必有 ...
分类:
数据库 时间:
2020-05-20 14:02:13
阅读次数:
143
MySQL的架构体系 第一层为客户端的连接认证,C/S都有此架构 第二层为服务器层,包含MySQL的大多数核心服务功能 第三层包含了存储引擎,服务器通过API与其通信,API规避了不同存储引擎的差异,不同存储引擎也不会互相通信,另外存储引擎不会去解析SQL(InnoDB是例外,它会解析外键定义,因为 ...
分类:
数据库 时间:
2020-05-19 22:21:38
阅读次数:
66
测试: 建表空间 CREATE TABLESPACE TESTTBS DATAFILE '/oradata01/dfhdb/testtbs01.dbf' SIZE 2G; 在表空间上建表 CREATE TABLE TESTTAB TABLESPACE TESTTBS AS SELECT * FROM ...
分类:
数据库 时间:
2020-05-19 20:07:12
阅读次数:
69
MYSQL性能优化总结: 1.选择合适的存储引擎:innoDB 除非你的数据表主要做只读或者全文索引,你应该默认选择:innoDB 2.数据表字段设计 a. 通常使用范式化设计,因为范式化通常会似的执行操作更快: 第一范式(确保每列保持原子性) 第二范式(确保表中的每列都和主键相关) 第三范式(确保 ...
分类:
数据库 时间:
2020-05-19 12:15:21
阅读次数:
84
事务特性,ACID,原子性、一致性、隔离性、持久性 1、事务的隔离性由锁实现 2、redo log(重做日志) 用来保证事务的原子性和持久性 3、undo log(回滚日志)用来保证事务的一致性 用来帮助事务回滚以及mvcc的功能,mvcc的实现是通过undo日志实现的 当用户读取一行时,若该记录已 ...
分类:
其他好文 时间:
2020-05-17 19:04:34
阅读次数:
55
MySQL的InnoDB索引结构采用B+树,B+树什么概念呢,二叉树大家都知道,我们都清楚随着叶子结点的不断增加,二叉树的高度不断增加,查找某一个节点耗时就会增加,性能就会不断降低,B+树就是解决这个问题的。 B树和B+树 在一棵M阶B树中,每个节点最多有 M 1 个关键字,根节点最少可以只有一个关 ...
分类:
数据库 时间:
2020-05-17 12:58:34
阅读次数:
86
1、查询数据库各个表空间利用率: SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", To_char(Round((D.TO ...
分类:
数据库 时间:
2020-05-17 01:23:37
阅读次数:
109
数据库配置文件优化 硬件:内存32G innodb_file_per_table = 1 # 打开独立表空间 max_connections = 8000 # MySQL 服务所允许的同时会话数的上限,经常出现Too Many Connections的错误提示,则需要增大此值 back_log = ...
分类:
数据库 时间:
2020-05-16 19:08:10
阅读次数:
71
前言:索引是MySQL数据库中的重要对象之一,索引的目的在于提高查询效率。可以类比字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同。为了避免混乱,本文将只关注于InnoDB引擎下的B+Tree索引。1.索引结构
分类:
数据库 时间:
2020-05-15 17:35:10
阅读次数:
68
1. 下载安装包 2. 卸载主机自带的mysql或mariadb [root@liandoyun ~]# rpm -qa|grep mysql [root@liandoyun ~]# rpm -qa|grep mariadb mariadb-libs-5.5.64-1.el7.x86_64 [roo ...
分类:
数据库 时间:
2020-05-15 13:56:30
阅读次数:
396