数据库分库分表的时机与实现方法
单表数据量超500万行或QPS过高时,读写性能会显著下降。
解决方法:
解决方法:
方法 | 作用 | 注意事项 |
---|---|---|
水平分表 | 按ID范围或哈希拆分(如user_0 、user_1 )。 |
需中间件(如MyCat)或代码层路由查询。 |
垂直分库 | 将不同业务表分离到独立数据库(如订单库、用户库)。 | 跨库事务需用分布式事务(Seata)。 |
时间分区 | 按年/月分区(MySQL的PARTITION BY RANGE )。 |
适合日志类冷热数据分离。 |
选择分片键 | 避免高频字段作为分片键(如性别),优先用ID、时间。 | 不均匀分片会导致热点问题。 |
更新时间:2025-06-21 13:43:38