时间: 2020-11-26|39次围观|0 条评论

mysql 数据库优化

根据韩顺平视频讲解

一、关系型数据库优化

1、       数据库(表)设计合理,要符合3规范。

2、      sql语句的优化

3、     数据的配置

4、     适当的硬件和操作系统

数据的3规范模式(3NF

1NF 就是具有原子性,不可分割(只要使用关系型数据库,就自动符合)

2NF 在满足1NF的基础上,在考虑此点。对记录的唯一性约束,同一张表不可能出现完全相同的记录。

这一点可以通过主键进行控制。

3NF 在满足2NF的基础上,对字段冗余性的约束,即不能由其他字段派生出来。字段信息可以通过关联的关系进行派生即可。有时需要降低范式标准。

 

 

通常通过外键的形式来解决

mysql 数据库优化(未完)插图

 

逆范式:

(相册功能对应的数据库设计)

每次图片更新 相册点击次数顺便更新一次

mysql 数据库优化(未完)插图1

不合理的逆范式

mysql 数据库优化(未完)插图1

冗余规则,1对多的关系中,尽量把逆范式的内容放在1这边。

 

sql 优化的一般步骤

1、       通过show status命令 了解各种sql 的执行频率。

2、     定位执行频率较低的sql语句,重点是在select 语句。

3、     通过explain 分析低效率的sql 语句执行情况。

4、     确定问题并采取相应措施。

sql语言

ddl(数据定义语言) [create alter drop]

ddml(数据操作语言)[inert rollback update]

 

select

dtl(数据事务语言)[commit rollback savepoint]

dcl(数据控制语句) [grant revoke]

 

show status命令

该命令显示mysql数据库当前状态,主要关心以com开头的命令。

show status like com%;

mysql 数据库优化(未完)插图1

mysql 数据库优化(未完)插图1

显示局部// 控制台的命令使用次数

show status like com%;

相当于

show session  status like com%;

 

全局// 数据库从启动到查询的次数

show global status like com%;

 

 

例如:命令select 就是 Com_select

 

显示连接数据库的次数

show status like Connection;

mysql 数据库优化(未完)插图1

Uptime服务器工作时间(秒)

mysql 数据库优化(未完)插图

 Show_queries:慢查询次数(默认10秒)

mysql 数据库优化(未完)插图1

优化的重点是 慢查询

show variables like long_query_time;

mysql 数据库优化(未完)插图1

原文链接:https://blog.csdn.net/w605283073/article/details/46572561

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《mysql 数据库优化(未完)
   

还没有人抢沙发呢~