当前位置:   article > 正文

mysql如何实现单表数亿级数据查询不卡?_mysql 关联查询一个一亿数据的表

mysql 关联查询一个一亿数据的表

相信大家可能在平时mysql进行单表百万级千万级数据查询时,肯定会遇到一个问题,那就是查询数据非常之卡!

就不说数亿的吧,我之前客户的数据库单张表百万级的,查询动辄几十秒一分钟左右!这就造成了一个问题,系统卡死的错觉!后面我花了几天的时间进行优化,终于变成了0.000几秒,后面就算是数亿级的单表查询也变成0.0几秒,没有优化之前数亿级的单表查询半小时到1小时左右,特别恐怖!

好了,话不多说!开始优化吧!

我这个客户是每隔几天定期导数据到数据库表里供用户查询的,该数据表没有涉及增删改的需求!这里我选用的是myisam数据库引擎!为何?怎么确定数据库引擎?

首先,你要看你的数据表查询用的多还是增删改用的多。查询用的多就选myisam数据库引擎,查询性能据说是innoDB数据库引擎的6、7倍,我经过测试,300多万的单表数据查询,myisam花了大概0.00几秒,而innoDB则是花了1、2秒2、3秒的样子!这里有个误区,很多初学者可能认为一个数据库只能选择一个数据库引擎,其实不然,数据库引擎不是跟数据库挂钩,而是跟数据表挂钩的,可以一张表是myisam引擎另一张是innoDB引擎!

引擎选对了性能就上去了一些,但这并不能达到0.0几秒的性能,还需要进行优化,因为我们这边选的是myisam引擎,所以varchar类型字段全部改成char类型

CHAR和VARCHAR的区别如下:
1)、CHAR是固定长度字符, VARCHAR是可变长度字符;
2)、CHAR会自动删除插入数据的尾部空格, VARCHA

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/149284?site
推荐阅读
相关标签
  

闽ICP备14008679号