mysql在数据量大的时候一般采用分库分表的办法来解决读写慢的问题,为什么分库分表之后读写性能就可以提高了呢?
这里尝试做一下分析:
- 分库有利于利用更多的硬件来提供服务
- 分表的依据:
- 单表过大时,索引随之就增大;查询的时候,如果索引不在内存中,大的索引需要更多的载入时间;扫描索引的时间也会变大。写入(增、删、改)的时候,大的索引更新速度也慢。
- 在对表做写操作时,整个表的query cache将失效,大表失效的cache多,而且失效的几率也大,小表的相反。
分库分表的缺点:
- 无法做联表查询操作,不过这未尝不是好事,对于大数据量,联表查询基本是不建议使用的。
相关资料:
http://zhengdl126.javaeye.com/blog/419850