前言:
最近参加面试,问到了很多关于mysql的优化方面的问题,回答的不是很好,也是因为原先做的项目流量不是很大,所以对mysql优化不是太了解,所以趁着周末,恶补一下。
本文来源于慕课网sqlercn老师所讲的《性能优化之mysql优化》,根据老师所讲的内容整理所得。
一、为什么需要优化mysql数据库
1、避免出现页面访问错误
由于数据库连接超时产生的5xx错误
由于慢查询造成页面无法加载
由于阻塞造成数据无法提交
2、增加数据库的稳定性
很多数据库问题是由于低效的查询引起的
二、mysql数据库需要优化哪些内容
优化成本低到高,优化效果高到低
sql及索引—>数据库表结构—>系统配置—>硬件
三、演示数据库准备
演示数据库地址:http://dev.mysql.com/doc/index-other.html
演示数据库安装过程。
1、下载演示数据库,并解压
[root@localhost-centos6 ~]# wget http://downloads.mysql.com/docs/sakila-db.zip
[root@localhost-centos6 ~]# unzip sakila-db.zip
2、拷贝两个文件到/usr/bin/目录下,原因是使用source命令防止出现无法打开文件的错误。
[root@localhost-centos6 ~]# cp /root/sakila-db/sakila-schema.sql /usr/bin/
[root@localhost-centos6 ~]# cp /root/sakila-db/sakila-db.sql /usr/bin/
3、进入数据库,首先建立数据库,并设置数据库编码
mysql> create database sakila;
mysql> set names utf8;
4、导入数据表和数据
source sakila-schema.sql;
source sakila-data.sql;
最后可以删除复制的那两个文件。