首页 米可游戏攻略 正文

mysql 5.7性能优化怎么做?几个技巧分享给你!

今儿个,咱来聊聊 MySQL 5.7 这玩意儿。话说我最近折腾一个老项目,数据库用的就是 MySQL 5.7,这中间,可真是踩不少坑,今儿就跟大家伙儿好好说道说道。 安装那点事儿 我以为安装 MySQL 5.7 跟我以前装其他版本没啥两样,结果一上来就给我个下马威。下载安装包,解压,配置环境变量,这些步骤都还算顺利。可当我兴冲冲地...

今儿个,咱来聊聊 MySQL 5.7 这玩意儿。话说我最近折腾一个老项目,数据库用的就是 MySQL 5.7,这中间,可真是踩不少坑,今儿就跟大家伙儿好好说道说道。

安装那点事儿

我以为安装 MySQL 5.7 跟我以前装其他版本没啥两样,结果一上来就给我个下马威。下载安装包,解压,配置环境变量,这些步骤都还算顺利。可当我兴冲冲地运行初始化命令时,直接报错!

后来一查资料才知道,MySQL 5.7 的初始化命令跟以前的版本不太一样。我记得好像是要用 mysqld --initialize-insecure 这个命令,具体参数记不清,反正跟以前不一样,这让我折腾好一阵。

参数配置那些坑

装好之后,我寻思着得好好配置一下参数,让它跑得更顺溜点。结果,打开配置文件 一看,我直接傻眼。好多参数我都没见过!跟以前用的 5.6 版本完全不一样。

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

比如说,关于连接数的配置,以前我都是直接改 max_connections 这个参数,简单粗暴。可到 5.7,我发现光改这个参数好像不太管用,还得配合其他几个参数一起调整,具体是哪几个参数,我现在也记不太清,反正挺麻烦的。

还有那个 binlog,默认情况下居然是不开启的!这让我有点懵,因为我以前用的版本默认都是开启的。为数据安全起见,我还是手动把它给打开。

最让我头疼的是 Bufferpool 的配置。这玩意儿直接关系到数据库的性能,我以前都是根据服务器的内存大小,估摸着给它分配一个值。可到 5.7,我发现事情没那么简单。它有好几个跟 Bufferpool 相关的参数,而且这些参数之间还有相互影响,我当时为搞清楚这些参数的含义,查好多资料,头都大。

查询优化那些事儿

数据库装参数也配置得差不多,接下来就是实际使用。在使用过程中,我发现有些查询语句执行起来特别慢,这可不行,得想办法优化。

我想到的是索引。这玩意儿就像书的目录一样,可以大大提高查询速度。但是,我也发现,并不是所有带索引的查询都能生效。有些情况下,索引会失效,导致查询速度反而变慢。

比如说,我在查询条件里使用函数,或者对索引列进行运算,这些情况下索引都会失效。还有,使用模糊查询的时候,如果通配符放在前面,索引也会失效。这些坑,都是我一个个踩过来的。

除索引,我还尝试其他一些优化方法,比如说优化子查询,优化数据库结构等等。为让数据库跑得更快,我可是费不少心思。

总结

MySQL 5.7 给我最大的感受就是,它跟以前的版本相比,变化挺大的。很多参数和配置都不一样,需要重新学习。而且在使用过程中,也会遇到各种各样的坑,需要耐心地去解决。不过经过一番折腾,我对 MySQL 5.7 也算是有更深入的解,以后再遇到类似的问题,应该也能更从容地应对。

以上就是我的一点心得体会,希望能给大伙儿一些帮助。要是大家有什么疑问,或者有什么更好的经验,也欢迎一起交流交流!

阅读全文