mysql数据量与速度关系

向数据库中插入了4000W数据,然后用多线程去查询数据,统计时间如下:
当数据量为4000W时,查询速度如图所示
在这里插入图片描述
当数据量为3000W时,查询速度如图所示
在这里插入图片描述 当数据量为2000W时,查询速度如图所示
在这里插入图片描述
当数据量为1000W时,查询速度如图所示
在这里插入图片描述
由此可见数据查询速度和数据量是有关系的,当数据量足够大时,查询时间会相应延长(4000W的时候电脑一度卡的一批哈哈),而当数据量减少到一定量范围内时,查询速度几乎保持在一个水平,这说明此时查询已经达到了最优水平,这是我们最期望看到的数据量大小。
至于为什么数据量越大查询速度越慢呢,这是因为内存不足。当单表过大时,我们需要进行分表,否则在多线程下容易产生内存不足的情况,一般情况下500W数据量左右进行分表。
在有索引的情况下,mysql是将索引全部加入内存再匹配,导致分批次与磁盘进行交互,当我们一次性删除百万条数据时可能会响应很长时间,这时一个比较简单的缩短时间的方法是将百万条数据拆分成几十万来进行多次删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值