MySQL技术内幕InnoDB存储引擎

day02

2015.03-2015.05 网上购物系统
项目描述: 用户进入系统后,可以进行产品的浏览与查询。用户想要购物必须进行登录,如果用户没有注册,提醒用户注册,注册成功后进行系统可进行购物。
职责描述: 参与该系统购物模块设计。独立开发了购物车模块。完成对该系统部分的测试工作,并完善了该项目的相关文档资料

2008.05-2008.10 小型OA系统
项目描述:系统平台:windowsxp 数据库: Oracle

职责描述:本人主要完成了给角色指定相应的模块 用户登录的权限的控制,独立开发了管理员管理模块和权限管理模块,包括设计,编码,模块单元测试,实现了对权限管理子模块的增,删,查。

1聚簇索引:

​ 自增主键VS随机主键

数据和索引存储在一起

2二级索引:

数据不和索引方在 一起;叶子中放的是pk主键值;通过pk去查

一次查询需要走两遍索引;回表

主键大小会影响所有索引的大小,

3联合索引:

​ 最左匹配原则

原因:一个索引只能创建一个树;

4:所用优化分析;

(1)锁

索引文件大小;

(2)主键选择

自增主键

随机主键

业务主键----雪花算法去成自己业务相关的主键

联合主键:影响索引大小;

(3)联合索引使用

按索引区分度排序

覆盖索引;不用回表了就;

索引下推;了解一下就行,更新了

(4)字符串索引:

不支持的%开头的模糊查询;----倒排索引ES;

设置合理长度

5索引失效问题

写的索引没有,蜕变成全局查找;

隐士类型转变 ----int转变为string类型

索引列包含计算(有计算式子)

数据范围影响;索引区分度低(给性别加了索引)、条件超出索引范围

6设计实践:

(1)性别用boolen类型,等等,tinyint等减少存储占用;

(2)库表设计

分表:

单表不超过1KW

分表方式: (1)取模

​ (2)冷热库

分库:

(1)按业务垂直分库:运维多做;

(2)按水平查分多个库;0-67 和68-127分表放在两个类库中;

分库分表:

垂直拆分:宽表拆分成窄表,

水平拆分:读写均匀;冷热库拆分;

7:分表实践项目:

(1)用户库分表;

存储均匀:访问均匀;à取模;à建立映射;利于处理不是针对于主键索引的查找;

(2)商品库分表:

商品维度大;

基因注入法:public的参量;就不用建立映射了;

(3)系统消息库分表:

时效性强;

冷热数据拆分;

例如:保存有效期30天,对于三个表;、

​ 写的时候,就

(4)分表分少了怎么办:

Day03

day03

企业级数据库Sharding Sphere 分库分表应用设计实战:

Sharding JDBC:

  • 异构语言;java

Sharding Proxy;

2阿里巴巴Seata应用设计实战:

1XA规范:资源管理器–事务参与者

​ 事务管理器;

2TCC:Try-Confirm-Cancel

  • 尝试预留资源
  • s
  • ss

3SAGA模型:

  • 补偿接口;加时;幂等;

事务消息:

  1. ​ 简化了分布式事务模型

  2. 对业务友好;

行锁:

数据库冗余部署:

  • 一主一从
  • delay Slave
  • 级联部署延迟从做备份;
  • DELETE FROM Ti;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值