- mysql对分表策略一定要和业务逻辑紧密结合,本文所用例子,如果用户登陆使用id,则以range分,使用name,则用hash分,某订单表日增量感人,则用date分。
- 分表后性能,也会根据业务逻辑是否合适而提升或者降低,如在range分表中进行name查询,性能会很差,但是使用id查询,性能有明显提升,随着数据量继续增大,优势会逐步扩大。
- 在数据库规模较大情况下,分表并发查询效率高于循环串行查询,考虑到单服务器创建连接开销,通信,处理能力及io效率,如应用于分布式服务器集群,并发查询的效率优势会更巨大。
- hash分表对于有排序需求对业务逻辑不太合适,即使可取出数据,大量计算也会造成很大开销。
- 数据库架构设计要根据业务量,确保安全,循序渐进,大概是 数据结构->查询语句->索引->分表->分库->主从->分布式。
- 对于分库分表后对数据库,业务逻辑会发生较大变化,建议根据分库表策略,编写中间件,以实现业务层和数据层的解藕。
- 不足之处,请多赐教,有需要测试代码和数据库文件的,待我上传后放出连接。
数据库分表性能
最新推荐文章于 2021-10-10 20:04:22 发布