Mysql大表带来的问题讲解

前文唠叨几句

近几年随着互联网的发展,越来越多的人用上智能手机,我们的父母现在会上网买东西了。所以对于软件开发,面临着大数据量处理的问题。

公司最常用的关系型数据库应该就是mysql了。所以今天总结下mysql大表带来的问题,以及解决方式。

一 . 大表的定义

mysql大表,这里的“大表”就比较广义了。那么多大才能算是大表呢?

1.一般指得是单表行数达到千万级别

2.表数据文件巨大,至少10个G

当然这些也是相对的定义,具体还要看你的磁盘IO和业务场景来定义。

二. 大表带来的问题和结局办法

1.产生慢查询
很难在一定的时间内过滤出所需要的数据,查询过大表的小伙伴应该深有体会。可能查询直接卡死,一直查询不出来数据。
解决方案:优化SQL(这不废话嘛。别着急接着往下看,一步步给你下套)

2.建立索引会产生锁表,或者时间很长

mysql版本 <5.5 建立索引会锁表

mysql版本 >=5.5不会锁表但会引起主从延迟

3.修改表结构需要长时间锁表
会造成长时间的主从延迟,因为如果是主从结构,那么都是现在主库完成DDL操作,再去完成相同的操作。
解决方案:
(1)分库分表
难点:分库分表其实不是一件容易的事情,如果公司领导让你一个人处理分库分表,那可能真的是比较看中你的能力了。分库分表难点主要是,分表主键的选择。比如订单表很大了,这时候想分表了。那么主键可以选择订单号等等。还有一个难点时候分表后跨分区数据查询。
(2)历史数据归档
难点:
第一个归档时间的选择。第二个是如何进行归档操作。

接下来还会更新关于mysql知识的相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值