mysql的优化表现在哪些方面_一、数据库的优化包括哪些方面

## 一、什么是数据的优化

数据库的优化是一个综合型的技术,并不是通过某一种方式让数据库效率提高很多, 而使通过多方便的提高,从而使数据提高很多

主要包括

1. 表的设计合理化

2. SQL语句的优化

3. 给表要添加合适的索引 普通索引、主键所以,唯一索引 unique、全文索引

4. 分表技术(水平分割、垂直分割)

5. 定时清除垃圾数据、定时进行碎片整理

6. 多用存储过程,和触发器

7. 对mysql的配置进行优化[配置最大并发数my.ini,调整缓存大小]

8. 读写分离

9. myql服务器硬件是否要升级

### 表的设计合理化

三范式:

第一范式、

确保每列的原子性、所有的(不可再分)

注意:地址这个字段,如果不分类汇总,不排序,仅仅是起一个字符串的作用,这是我们不拆分(反三范式)

第二范式、

非键字段必须依赖与键字段(一个表做一件事情)

第三范式、

消除传递依赖(如果一个字段可以推到出到另外一个字段)

反三范式:

范式越高,数据的冗余就越少、但是有的时候效率就越底下,为了提高运行效率,可以适当

的适当的让数据的冗余。

数据库的性能比规范化更重要

### SQL语句的优化

#### 定位慢查询

增、删、改、查

### 一、MySql数据库一个关于状态的查询

show status指令 查询mysql的运行状态

show status like ‘com_insert’ 执行了多少次插入

show status like ‘com_update’ 执行了多少次更新

show status like ‘com_delete’ 执行了多少次删除

show status like ‘com_select’ 执行了多少次删除

show[session | global ] status like com_select’

show status like ''uptime' 显示MySql数据库启动多长时间,如果时间很长了,

数据库表的存储引擎是myisan的,这时候就要主要整理碎片。

### 二、显示慢查询

show variables like 'long_query_time'

set long_query_time = 0.5

show status like 'slow_queries'

定位慢查询(开启慢查询的日志)

一旦开启慢查询日志后,日志文件的位置,在my.ini文件去查找datadir

在默认情况下不会开启慢查询,如何开启慢查询呢

第一步: 关闭当前的MySql的服务

第二步: 启动 mysqld --safe -mode --slow-query-log

关闭 mysqladmin -uroot -p123456 shut down

#### 优化问题

通过explain语句可以分析,mysql如何执行的sql语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值