MySQL 核心优化(一)

1.存储层:存储引擎 字段选取 3范式
2.设计层:索引 外键 分区 分表
3.语句层:单表sql优先,链表sql时使用唯一索引和主键
4.架构层:分布式部署(主从模式/共享模式)

存储引擎

  • 数据表存储的一种格式
InnoDB 支持事务 支持外键 支持行级锁

show engines; 查看存储引擎
1. Engine 引擎名称
2. Support 为引擎支持情况 不支持FEDERATED引擎 InnoDB为默认引擎
3. Comment 描述 InnoDB(“Supports transactions, row-level locking, and foreign keys”) 支持事务,行级锁,外键
4.Transactions事务 XA事务 Savepoints事务保存点,只用InnoDB支持

MyISAM

MyISAM 存储文件结构 frm为table表结构文件 MYD为table表数据文件 MYI为table表索引文件

InnoDB

InnoDB 存储文件结构 frm为table表结构文件 idb为InnoDB表数据/索引文件
这里写图片描述
show variables like ‘innodb_file_per_table%’; 查看InnoDB是否分表 如果OFF关闭 所有数据/索引文件将存储到一个文件中
这里写图片描述

数据的写入

写入MyISAM表格数据时

读出MyISAM数据时和写入顺序的一致
这里写图片描述
MyISAM写入时不会进行排序,写入速度快.

写入InnoDB数据库时数据会按主键顺序排序
这里写图片描述
InnoDB写入时会进行排序,写入速度较MyISAM慢

并发性

MyISAM 并发性低,多人请求时慢,整表锁机制.
InnoDB 并发性高,速度,效率高,行表锁机制

MyISAM数据压缩

插入5000万条数据并将数据
由内存更新到磁盘
这里写图片描述
数据文件大小
这里写图片描述
使用myisampack 压缩工具对myisam表进行压缩,压缩百分比为55.89%
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值