Mysql优化分析
Mysql作为现在的主流关系型数据库,在优化上值得深思啊!
不能只停留在如何使用Mysql,而不去思考如何优化的问题啊。
在谈到Mysql优化方面,Mysql在这方面有专门的文档说明这个问题的。
强调一遍:做技术一定要学会看官方文档。
Mysql官方文档
文档中有的,我就再不重复,只补充或者验证一些优化点。
一句话介绍:
优化涉及在多个级别配置,调整和测量性能。根据您的工作角色(开发人员,DBA或两者的组合),您可以在单个SQL语句,整个应用程序,单个数据库服务器或多个联网数据库服务器的级别进行优化。有时您可以主动并提前计划性能,而有时您可能会在出现问题后解决配置或代码问题。优化CPU和内存使用还可以提高可伸缩性,允许数据库处理更多负载而不会降低速度。
一、两大方面
从大的方面讲,主要有两大方面。
- 在数据库级别进行优化
- 在硬件级别进行优化
二、数据库级别的优化
1.表结构是否合理?
2.是否有适当的索引来提高效率?
3.是否为每个表选对了存储引擎?
事务性存储引擎InnoDB和非事务性存储引擎 MyISAM的正确选择对于性能和可伸缩性来说是非常重要的。
4.是否正确使用了缓存?
三、硬件级别的优化
1.磁盘寻道
2.磁盘读写
3.CPU周期
4.内存带宽
以上信息的详细解释,Mysql官方文档,均有说明,感兴趣的请前方了解下!