[置顶] Mysql优化(一)思路介绍

    最近到一家公司面试,人家面试官真是mysql一把手,整个面试大概3个小时,没有一个话题离开了数据库,自己深知在数据库方面不是自己的强项,于是乎,顶着面试受挫的压力,恶补了一下mysql优化部分的知识。

    一提到mysql优化,我们不用大脑一片空白,下面我们从三个角度分析mysql优化的整体情况:

服务器方面:

    一般我们可以通过脚本刷新服务器来观察服务器的status,观察服务器是否出现了周期性的故障或者波动。服务器这边的如果出现故障的话一般都是由于访问高峰或者缓存崩溃导致的,一般的解决思路就是增加缓存的失效周期,分散失效时间,一般设置在访问量少的时间点,比如夜间。

数据库设置方面:

    在数据库层面上优化mysql的话无非就是设置合理的表结构,比如字段的类型要合适,类型范围大小要合适,不是越大越好,也不是所有的类型都选择varchar(22)就好。表结构中建立索引,比如,对于频繁查询的数据字段我们可以建立索引,还有对于长度小,区分度高,我们建立索引尽量能覆盖常用的查询字段。

sql语句方面:

    在sql语句方面优化mysql的话,无非就是规正我们的代码,对于多表查询我们可以用连接,常见的有左连接和右连接,以及全连接等,可以使用临时表。使用explain来检测我们的sql语句的执行效率。对于mysql中的分页,我们考虑如何使用limit关键字,如何使用延迟索引,如何巧用变量等。

你可能感兴趣的:([置顶] Mysql优化(一)思路介绍)