千万级数据测试

今日无事,想起以前面试的时候问起数据量大的相关问题,就想着模拟一下数据,做做测试和优化
使用以下存储过程 批量插入数据,很快就能造个千万级数据表

CREATE DEFINER=`root`@`localhost` PROCEDURE `test2`()
begin
declare v_cnt decimal (10)  default 0 ;
dd:loop
			
								
								
								
        commit;
        set v_cnt = v_cnt+10 ;
            if  v_cnt = 10000000 then leave dd;
            end if;
        end loop dd ;
end

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一千多万条数据查询全部数量用时两秒多点,百万的时候查是1秒左右,做了几个数据统计,感觉统计不多,没办法作为参考。
下面进入无索引的条件查询某个值, 基本都要20秒多点
在这里插入图片描述

加了一个索引瞬间变成0.01秒多点,尝试用like %还是这个时间,看来索引真的很有效
在这里插入图片描述
下面又是另一个问题,索引加多了会怎么样
方便测试加了10个字段的索引,明显的发现索引添加过多占用了500M 一个的时候才100多M
在这里插入图片描述
查询速度呢?
在这里插入图片描述
并没有变慢
再加几个
在这里插入图片描述
提示太多了不能超过16个,网上看了下说组合索引不能超过16个,正常一个一个的可以64个

在这里插入图片描述
一个16字段的聚合索引数据库大了一半,再试下加10个单个索引看下超过了索引的长度超过了数据的长度,说不影响查询速度,谁信呢
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值