/*
mysql优化思路
1.数据库设计
2.sql语句优化
3.数据库参数设置
4.恰当的硬件资源和操作系统
数据库设计
数据的3NF(3范式) 逆范式
3NF解释
1NF:就是具有原子性,不可分割。(只要使用的是关系型数据库,就自动符合)
2NF:在满足1NF的基础上,我们考虑是否满足2NF,只要表的记录满足唯一性,
同一张表,不可能出现完全相同的记录,(表中设计主键即可)
3NF:在满足2NF的基础上,我们考虑是否满足3NF,即我们的字段信息可以通过关联的关系
派生即可(通过外键即可处理)
逆范式解释:
sql统计sql语句
show status 语句
1.查看当前执行select语句次数
show status like 'Com_select';
show session status like 'Com_select'; 当前次数
show global status like 'Com_select';全部次数
2.当前mysql连接次数
show status like'connections';
3.当前mysql连接时间
show status like'uptime';
4.慢查询状态
show variables like '%quer%';
5.慢查询默认时间
show variables like 'long_query_time';
6.explain检测sql语句
explain sql语句
索引
索引类型
1.主键索引 primay key
2.普通索引 index
3.唯一索引 unique
4.全文索引 fulltext
5.符合索引
创建索引
create [unique | fulltext] index 索引名 on 表名(列名);
alter table 表名 add index 索引名(列名);
alter table 表名 add primary key(列名);
删除索引
drop index 索引名 on 表名;
alter table 表名 drop index 索引名
alter table 表名 drop primary key(列名)
显示索引
show index(es) from 表名
show keys from 表名
desc 表名
索引注意:
下列情况不回使用索引
1.多列索引只在左边第一列使用索引 其余列屏蔽索引
2.like‘%赵猛’ %开始将屏蔽索引
3.where 条件 or 条件 sql语句出现or屏蔽索引
4.数字型 id=2 数字型不加引号屏蔽索引
查看索引使用率
show status like 'handler_read%';
*/