1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update MySQL.md

This commit is contained in:
SnailClimb 2019-02-18 22:03:28 +08:00 committed by GitHub
parent 21ecdfe4bc
commit 6004656134
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -136,8 +136,7 @@ Java面试通关手册Java学习指南欢迎Star会一直完善下去
1. **限定数据的范围:** 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内。; 1. **限定数据的范围:** 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内。;
2. **读/写分离:** 经典的数据库拆分方案,主库负责写,从库负责读; 2. **读/写分离:** 经典的数据库拆分方案,主库负责写,从库负责读;
3. **缓存:** 使用MySQL的缓存另外对重量级、更新少的数据可以考虑使用应用级别的缓存 3 . **垂直分区:**
4. **垂直分区:**
**根据数据库里面数据表的相关性进行拆分。** 例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。 **根据数据库里面数据表的相关性进行拆分。** 例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。
@ -148,7 +147,7 @@ Java面试通关手册Java学习指南欢迎Star会一直完善下去
**垂直拆分的缺点:** 主键会出现冗余需要管理冗余列并会引起Join操作可以通过在应用层进行Join来解决。此外垂直分区会让事务变得更加复杂 **垂直拆分的缺点:** 主键会出现冗余需要管理冗余列并会引起Join操作可以通过在应用层进行Join来解决。此外垂直分区会让事务变得更加复杂
5. **水平分区:** 4. **水平分区:**
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。** **保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**