数据量在什么情况下需要分库分表

为了保证数据库的查询效率,当数据达成一定量时建议进行分表操作
1、oracle
当oracle单表的数据量大于2000万行时,建议进行水平分拆

2、mysql
当mysql单表的数据量大于1000万行时,建议进行水平分拆
单表容量到了1000W以上基本上稍微复杂一点的SQL都需要仔细优化,这时候的SQL耗时主要集中在磁盘IO上,数据命令缓存的概率降低,总之不好搞,如果是正常的互联网项目,提前分库分表,在前期能做的先做了,后面会省很多时间处理数据迁移的事情,数据操作比较频繁,比如订单表,可能涉及到的插入和更新操作特别频繁,特别是大并发的时候,这时如果只用一个库,对磁盘的IO和mysql的性能都是一种考验,所以要分库分表,把操作频繁的表和基本信息表分开处理,减小单个数据库的压力,同时也不影响其他基本信息的读写
如果只有一台服务器,当select很多时,update和delete会被这些select访问中的数据堵塞,等待select结束,并发性能不高,此时就要选择读写分离了, 主 库 负 责 写 ,

你可能感兴趣的:(面试)