mysql学习:大表造成的影响和解决办法

1、什么是大表?

(1)、记录行数过大,超过千万行
(2)、表文件超过10G(相对的,根据业务场景与磁盘IO有关)

2、容易造成的问题

对查询造成影响:

			慢查询,很难在一定时间过滤所需要对数据

对DDL操作造成影响:

     1、建立索引时间过长
    风险: mysql < 5.5以前建立索引会锁表
     			mysql >= 5.5 不会建立索引但会引起主从延迟
     2、修改表结构长时间锁表
	 风险 :造成长时间对主从延迟
	 			影响正常的数据库操作

解决办法

既然大表造成这么多影响,那如何解决呢?
1、使用传说多分库分表
为什么是传说中的呢,因为使用的很少。使用分库分表首先是解决两个难点:
(1) 分表主键的选择
(2)分表后跨分区数据的查询和统计
ps:使用分库分表需要使用大量人力物力,而且容易对现有后端业务造成影响
2、历史数据归档(推荐)
好处是可以减少对前后端业务影响,但是也有两个难点:
(1)、归档时间对选择
(2)、如何进行归档操作

对大表对增删改查以后会详细记录

你可能感兴趣的:(mysql)