尤其是当我们发现某个表数据量达到1千万或者2千万时, 就认为可以进行分库分表了.
但这种判断方式是错的.
正确方式是判断出当前数据库瓶颈是什么, 根据瓶颈的不同调整方案也是不同的....垂直分表
针对某一个表IO较多, 同时表的列宽度较大时,一般会有如下问题:
(1)表的行宽度较大时,检索表的时候需要执行大量的IO,严重降低了性能;
(2)在数据更新时不仅会增加数据文件的IO负担,...这里拆表时, 可以根据以下拆分大表原则:
(1)把不常用的字段或者不经常更新的字段拆分到一张表, 经常变更的字段拆分到另一个表中;
(2)把text,blob等大字段拆分出来放在附表中,可以有效减少行溢出问题...这时最好的分库分表方法是将数据按时间分为热点数据和历史数据, 更久远的数据甚至可以做归档处理....总结
在解决数据库瓶颈时, 一定要想清楚瓶颈是什么, 根据业务情况, 选择合适的解决方式。