MySQL数据库思维导图
2024-02-21 09:52:44 113 举报
AI智能生成
登录查看完整内容
MySQL数据库思维导图是一种可视化工具,用于展示和管理MySQL数据库中的各种元素和关系。它以图形化的方式呈现数据库的结构,包括表、字段、索引、触发器、存储过程等。通过这个思维导图,用户可以清晰地了解数据库的组成部分,以及它们之间的关联和依赖关系。此外,用户还可以利用思维导图进行数据库设计、优化和维护工作,提高数据库的性能和可靠性。总之,MySQL数据库思维导图是一个实用的工具,有助于简化数据库管理过程,提高工作效率。
作者其他创作
大纲/内容
TINYINT
SMALLINT
MEDIUMINT
INT或INTEGER
BIGINT
整型
FLOAT
DOUBLE
浮点型
数值类型
CHAR
定长
VARCHAR
变长
字符串
TINYBLOB
TINYTEXT
短文本
BLOB
TEXT
长文本
MEDIUMBLOB
MEDIUMTEXT
中等长文本
LONGBLOB
LONGTEXT
极大长文本
文本数据
字符串类型
DATE
TIME
YEAR
单一日期
DATETIME
TIMESTAMP
混合日期
日期和时间类型
其他
菜鸟教程|Mysql数据类型
数据类型
创建数据库
修改数据库
删除数据库
进入数据库
库级操作
创建表
添加单列
添加多列
删除列
修改数据表
添加主键约束
添加唯一约束
添加外键约束
添加、删除默认约束
添加约束
删除主键约束
删除唯一约束
删除外键约束
删除约束
修改列定义
数据表更名
修改表
删除表
增加表
查看数据表
查看数据表结构
表级操作
概念
表级约束
列级约束
分类
非空约束
主键约束
唯一约束
默认约束
外键约束的要求
CASCADE
SET NULL
RESTRICT
NO ACTION
外键约束的参照操作
显示索引表
外键约束
自动编号
无符号位
Like
limit
distinct
order by
group by
having
group by 和 having
[not] between and
[not] in
is [not] null
not
union
关键字
约束
insert into 表名 (字段,字段)values(值,值)
增
delete from 表名 where 字段 = ?
删
update 表名 set 字段 = 值 where 字段 = ?
改
select * from 表名 where 字段
查
完整查询
增删改查
规则
返回值
=、>、<、>=、<=、<>、!=、<=>
用ANY、SOME、ALL修饰比较运算符
使用 [NOT] IN 的子查询
使用[NOT]EXISTS的子查询
比较运算符
子查询
内连接
左外连接
右外连接
外连接
自身连接
连接
子查询和连接
CEIL()
ROUND()
TRUNCATE()
数值运算符与函数
[NOT] BETWEEN...AND...
[NOT] IN
IS [NOT] NULL
比较运算符与函数
DATE_ADD()
DATEDIFF()
DATE_FORMAT()
日期时间函数
LAST_INSERT_ID()
USER()
信息函数
AVG()
COUNT()
聚合函数
MD5()
PASSWORD()
加密函数
自定义函数
运算符和函数
作用
一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成
事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
原子性
在事务开始之前和事务结束以后,数据库的完整性没有被破坏。
一致性
数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。
隔离性
事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
持久性
菜鸟教程
特性AICD
redo log buffer
redo log file
组成
redo log
undo log
支持日志组镜像
log group
日志
读未提交
读已提交
可重复读
串行化
朱双印
事务的隔离级别
脏读发生在一个事务A读取了被另一个事务B修改,但是还未提交的数据。
脏读
在一个事务内两次读到的数据不一致
不可重读
幻读
隔离对应问题
事务
mysql单表瓶颈500万数据,单库瓶颈5000万
img class=\"se-f38619b1\" src=\"https://static001.geekbang.org/resource/image/0d/d9/0d2070e8f84c4801adbfa03bda1f98d9.png\" style=\
什么是长连接和短连接?
长连接积累过多,可能出现内存占用太大
连接器
缓存中存储数据结构?
为什么建议少使用查询缓存?
查询缓存
词发分析
语法分析
分析器
优化器
执行器执行流程
执行器扫描多少行?
执行器
子主题
6:存储引擎按执行计划分类型执行
7:将结果存入缓存
8:返回结果给java程序
架构
利用show profile可以查看执行周期
命中缓存需要SQL一模一样
逻辑架构
支持外键和事务
行锁,适合高并发操作
缓存索引和真实数据,对内存要求高;而且内存大小对性能有决定性影响
InnoDB
不支持外键和事务
表锁
只缓存索引,不缓存真实数据
系统自带表使用该引擎
MyISAM
MyISAM和InnoDB区别
InnoDB引擎
MyISAM引擎
档案引擎
Archive引擎
将普通的csv文件作为mysql的表来处理,不支持索引
CSV引擎
缓存引擎
Memory引擎
联合引擎,访问其他mysql服务器的一个代理
Federated引擎
存储引擎类型
MySQL存储引擎
mysql高效获取数据的数据结构
提高数据检索效率
降低数据排序成本
优点
降低更新表的速度
占用空间更大
缺点
优缺点
在有限内存下,Mysql选择的看似效率比BTree效率低的B+Tree,同样情况下,B+Tree比BTree少1/3的IO次数
主键索引
聚簇索引
非主键索引
非聚簇索引
适用不同场景,可以线性查找
Btree索引
hash索引
按数据结构分
普通索引
唯一索引
全局索引
左前缀原则
联合索引
按种类分
二叉树最好的情况是平衡二叉树,最坏的情况是链表,所以不适用于mysql索引的数据结构
B树-二叉搜索树
每个节点中包含数据、指向数据的指针、及指向下一节点的指针
所有的叶子节点都在同一层
B-树(BTree)-多路平衡搜索树
节点中不包含指向数据的指针,数据都在叶子节点中存储
与B-区别
特性
应用
B+树
B*树
博客园
B树
主键自带索引,其他字段自己加。
索引
第一范式-单表
第二范式-单表
第三范式-多表
三大范式
BC范式-多表
第四范式-多表
简书
范式
简单性
安全性
逻辑独立性
性能差
增删改极其麻烦
语法结构
释义
创建视图
视图
查看所有存储过程命令
查看存储过程或函数的创建代码
调用存储命令
删除存储过程命令
命令
创建存储过程
MySQL语句执行过程
菜鸟|存储过程
存储过程
前触发器
后触发器
按时机分
insert
update
delete
按操作分
触发器|博客
触发器
Navicat
phpMyAdmin
MySQL Workbench
图形化管理工具
拓展
优化使性能变好,维持和变差是等概率事件
优化不可避免涉及到变更,变更就有风险
注意
数据可持续性
安全
数据的高性能访问
性能
优化方面
硬件
系统配置
数据库表结构
SQL及索引
优化维度
硬件>系统配置>数据库表结构>SQL及索引
优化成本
硬件<系统配置<数据库表结构<SQL及索引
优化效果
优化选择
字段选择合适的类型
添加合适的索引
表设计遵从范式
即LIKE中的开头为通配符不能使用索引
模糊查询左原则
具体方法
简书|优化
数据库优化
select version();
select now();
select user();
dual虚表
常用语句
关键字与函数名称全部大写
数据库名称,表名称,字段名称必须小写
SQL语句必须以分号结尾
语句规范
mysql|菜鸟
MySQL数据库
0 条评论
回复 删除
下一页