测试百万级数据下mysql in查询效率

发布时间:
2021-11-17 15:48:13

自己在做项目时,前期的架构往往希望能够做到效率高,性能强。最近在做内容模块开发时,需要有post、tag关联,考虑如果文章量级上来之后,通过文章的tagid聚合查询会影响效率,是否要通过中间表,或者mysql in查询能否撑得起量级的查询。

于是便写了个测试来验证一下在没有做中间表的情况下,通过in查询是否会影响效率。

写了个生成100W测试数据代码:

测试数据表ay_test:

模拟一篇文章的tag数量在1到5个不等。生成后如下图

100W测试数据:

简单粗暴直接从这100万数据里面通过in查询出包含指定tagid的文章列表。

以上从100W数据里面查询tagid包含666,888的数据,查询用时:0.373s!

看来in能胜任的,那就按简单的来搞,先不需要做中间表了。而后我又把测试数据量往上加,200W左右都能做到1秒内(0.73)完成,测试到700W时需要3秒左右(2.893s)。普通网站文章量达到万级都难,更别说十万级,百万级了。

至于有朋友说到高并发时的效率,这个已经不在今天话题的范畴了。

你可能感兴趣的文章:

  • 暂无相关文章

共有 0 条评论

You must be logged in to post a comment.