mysql优化

一、数据库优化是一个综合的工作,主要有以下5中方式:

1.合理的表结构(符合三大范式)

2.建立适当的索引(常用的有普通索引,主键索引,唯一索引,全文索引)

3.分表(水平,垂直分割)

4.读写分离(写包括:update,delete,insert)

5.存储过程(模块化编程能提高速度)

6.修改mysql配置(最大并发数,缓存 mysql.init)

7.服务器硬件升级

8.定时的清除不需要的数据,碎片整理

 

二、下面根据上面提供的方向,逐一讲解

1.合理的表结构

满足三大范式,某些情况下,可以反第三大范式,适当冗余数据

2.sql语句的优化

如何定位慢查询  SHOW GLOBAL STATUS LIKE 'slow_queries'

show VARIABLES like 'long_query_time';  //显示当前慢查询的时间

set long_query_time=1//设置当前慢查询的时间

3.索引

3.1 查看 索引的方法

3.1.1  desc 表名;  show  indexes from 表名; show keys from 表名

3.2 什么时候创建索引

反复出现在where字句中;唯一性不太差;更改频率不大;

复合索引只有当where条件中出现复合索引左边的字段时候,才有效。

or条件中只有两边都有索引才有效。

4.水平分表:根据业务需求,找到水平分割的标准

垂直分割:保小不保大。比如把描述 desc字段查看的次数不多,但是价格查询的比较多,可以把desc单独拎出来放在一张新表中。

 5.my.ini的配置

port,max_connections,缓存。

6.合理的硬件资源和操作系统

7.读写分离

posted @ 2018-05-20 18:23  wesley1680  阅读(104)  评论(0编辑  收藏  举报