- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL优化自学手册
/*
*
* |-标题:MySQL优化自学手册
* |-整理: 杨白玉
* |-时间: 2015年9月25日
*
*/
mysql 优化
前提:数据库性能的优劣直接影响到程序的性能,所以数据库的设计与参数配置至关重要。
数据库优化的方式:
1、数据库设计
2、sql 语句的优化
3、数据库参数的配置(扩展数据库的缓存或者数据库的空间)
4、恰当的硬件资源(钱的问题,有钱就能满足)
第一章 数据库的设计
一、数据库的设计:
数据库的设计指的就是表的设计。设计要符合三范式(规范的模式),有时我们也需要适当的
逆范式;
二、 什么是三范式?
第一范式:1NF 是对属性(可理解为字段)的原子性约束,要求属性具有原子性,不可再分。
第二范式:2NF 是对记录的唯一性约束,要求记录有唯一的标识,即实体的唯一性;
第三范式:3NF 是对字段冗余的约束,即任何字段不能由其他字段派生出来,要求字段没有冗
余,这是可以做到的。
然而,没有冗余的数据库未必是好的数据库,有时候为了提高运行的效率,我们也会使用适当
的逆范式,方法就是:增加字段。
一般来说,1NF 在关系型数据库中是自动满足的;
2NF 通常通过主键自增的唯一性来约束。而且,记录本身也很少会完全一样;
3NF 主要是在主从表中,不会出现相同的字段与字段值;
第二章 SQL 语句的优化
一、SQL 语句优化的步骤:
1、通过show status 命令了解各种sql 的执行频率;
2、定位执行效率较低的SQL 语句,主要集中在查询语句
3、通过explain 分析低效率的sql 语句的执行情况
4、确定问题并采取相应的优化措施
二、sql 语句有几类?
ddl(数据定义语句)[create alter drop]
dml(数据操作语句)[insert delete update]
select
dtl(数据事物语句)[commit rollback savepoint]
dcl(数据控制语句)[grant revoke]
show status 命令
该命令可以显示mysql 数据库当前的状态,我们主要重点关注“Com”开头的指令。
1、显示数据库开启本次会话后到目前的信息:
show status like “Com%”; = show session status like “Com%”;
2、显示数据库从启动到目前的信息:
Show global status like “Com%”;
说明:通过上述命令,可以很容易的了解到当前的数据库是以插入更新为主还是以查询为主,
以及各类sql 大致的执行比例是多少。
3、显示连接数据库的次数,如果并发高的话,就需要考虑并发的问题:
show status like “Connections”;
4、mysql 服务器工作的时间(单位是秒)
show status like “Uptime”;
5、慢查询
(1)、定位慢查询的次数(默认是10 秒)
show status like “Slow_queries”;
(2)、慢查询是我们优化的重点,默认情况下是 10s;
show variables like “long_query_time”;
(3)、设置慢查询的时间:
set long_query_time=值;
(4)、查询慢查询的次数:
show status like “slow%”;
分析:如何在项目中,找到慢查询的select 语句,mysql 数据库支持把慢查询语句,记录到日
志中供程序员分析,默认是不启用的;
方法:
进入到mysql 安装目录,切换到mysql 的bin 目录下,使用mysqld.exe 启动;
命令:XXmysqld.exe -show-query-log
知识扩展:如果你的数据库存储引擎是MyISAM 的,则当创建一个表后,再磁盘中会生成3
个文件:*.frm 记录表结构 | *.myd 数据 | *.myi 索引
数据库优化方式一:添加索引
1、索引介绍
对于提高数据库的性能,索引是绝佳选择,无需增加硬件、改变程序、调整sql 语句,就
能达到数据库优化的效果;然而,索引虽然提高了数据的查询效率,但却是以插入、更新、删
除的速度为代价的,增加了大量的I/O ,具体原因如
您可能关注的文档
最近下载
- 2024年6月英语四级真题(全3套).pdf
- 脑血管病教案.doc VIP
- 《Unit 6 Food and Drinks Listening and Speaking》学历案-中职英语高教版23基础模块1.docx
- 生活饮用水水质处理器卫生安全与功能评价规范-一般水质处理器(2001).pdf
- 标准图集-05SS521预制装配式钢筋混凝土排水检查井图集.pdf
- 流感课件完整版本.pptx VIP
- 学生干部心理调适培训.ppt VIP
- 国家开放大学《建筑力学》章节测试参考答案.pdf
- 10《往事依依》课件 2024-2025学年部编版七年级语文上册(共18张PPT).pptx VIP
- GY5(J1型)半联轴器加工工艺与工装设计-机械设计制造及其自动化.doc VIP
文档评论(0)