韩顺平mysql优化笔记_mysql 优化学习笔记

笔记传智播客韩顺平老师mysql优化视频课程:

A、表的设计(3范式)

符合一范式,才能满足二范式,进一步满足三范式

关系性数据库:oracle/mysql/db2/informix/sysbase/sql server

非关系型数据库:(特点:面向对象和集合)

Nosql数据库:mongodb(特点是面向文档,介于关系和非关系型数据库)

一范式 : 表的列不能再分割,信息本身可以明确表示某个信息。(关系性数据库自动满足)如:

二范式:表中的数据唯一,不重复,(只要设置主键就可以满足,一般不含业务逻辑,自增长)

三范式:表中无冗余数据,如可以推导出来,就无需添加字段存放。

比如: 个人资料  和  个人班级  ,个人资料里面有姓名字段就无需再个人班级里面添加姓名字段。

注意:不一定要完全满足三范式,具体情况讨论,多在一对多情况,比如 某相册全部浏览量,不是每次调用都去查询叠加一次每张相片浏览量,在相册添加一个浏览量字段就好

B、sql语句优化

1.mysql数据库运行状态如何查询(如何查询用了多少时间、次数、连接)控制台

Show satus; 可以查看所有查询状态

Show status like ‘uptime’

Show status like ‘com_select’ ;

Show[session|global] status like ...如果不写[session|global],默认是session会话,mysql启用到现在用global;

2.慢查询(mysql默认是10s)

查询慢查询时间:show variables like ‘long_query_time’;

修改慢查询时间:set long_query_time=1;

(跳过04.05视频慢查询)

C、添加适当索引(index)

数据库 mysql/mysql server5.5/data/temp  有些表有一个文件,一些有三个文件

Admin.frm(结构)  admin.myd(数据)admin.myi(索引)

原理:从数据库读取数据 select * from article where id=500; 数据库服务器会遍历表单内索引数据返回多条数据。。

添加索引后是按二叉树算法进行。。。进行次数c和总检索数目n关系是log2 n = c

普通

主键

唯一(unique)

全文(如百度)

复合

D、分表(水平分割、垂直分割)

E、读写分离(读分到多个操作,写update/delete/add)

F、存储过程

数据库(oracle、mysql、db2)三次结构[模块化编程、可以提高速度]

ca588d22510340452e6427366266e2d5.png

php程序     数据库管理系统 (编译、执行、缓存)    数据库

通常是 php程序传递到 数据库管理系统,系统编译-执行-缓存,从数据库读取数据返回给php,但php程序可以直接从数据库管理系统读取编译好的数据。

G、对mysql配置优化【配置最大并发数,调整缓存大小】

My.ini-- max_connection

H、服务器硬件升级

I、定时清除不需要数据,定时进行碎片整理【myisam尤其注重】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值