mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
Merge branch 'master' of https://github.com/Snailclimb/Java_Guide
This commit is contained in:
commit
9f80f82d71
@ -37,7 +37,6 @@
|
|||||||
- [MySQL](#mysql)
|
- [MySQL](#mysql)
|
||||||
- [Redis](#redis)
|
- [Redis](#redis)
|
||||||
- [:punch: 架构](#punch-架构)
|
- [:punch: 架构](#punch-架构)
|
||||||
- [分布式相关](#分布式相关)
|
|
||||||
- [:musical_note: 面试必备](#musical_note-面试必备)
|
- [:musical_note: 面试必备](#musical_note-面试必备)
|
||||||
- [备战春招/秋招系列](#备战春招秋招系列)
|
- [备战春招/秋招系列](#备战春招秋招系列)
|
||||||
- [最最最常见的Java面试题总结](#最最最常见的java面试题总结)
|
- [最最最常见的Java面试题总结](#最最最常见的java面试题总结)
|
||||||
|
@ -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. **水平分区:**
|
||||||
|
|
||||||
|
|
||||||
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**
|
**保持数据表结构不变,通过某种策略存储数据分片。这样每一片数据分散到不同的表或者库中,达到了分布式的目的。 水平拆分可以支撑非常大的数据量。**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user