mysql数据库优化课程---16、mysql慢查询和优化表空间
mysql数据库优化课程---16、mysql慢查询和优化表空间
一、总结
一句话总结:
a、慢查询的话找到存储慢查询的那个日志文件
b、优化表空间的话可以用optimize table sales;
1、查看慢查询日志是否开启?
show variables
show variables like "%quer%";
slow_query_log | ON
slow_query_log_file | mysql-slow.log
long_query_time | 10.000000
2、查看慢查询的次数?
show status
show status like "%quer%";
Slow_queries | 0
3、修改慢查询的时间(my.ini)?
long_query_time
long_query_time=6
4、重启mysql服务器?
net stop
net start
net stop mysql57
net start mysql57
5、优化表空间?
optimize
optimize table sales;
1.myisam表没有问题.
2.innodb表ibdata1文件无法回收空间.
6、mysql测试的时候如何快速增加表的数据?
自增数据
从自己身上增加数据,这是2的n次方,多弄几次数据就很大了
insert into test(username,age) select username,age from test;
7、通过EXPLAIN分析较低效SQL的执行计划?
explain select
mysql> explain select count(*) from stu where name like
"a%"\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: stu
type: range
possible_keys: name,ind_stu_name
key: name
key_len: 50
ref: NULL
rows: 8
Extra: Using where; Using index
1 row in set (0.00 sec)
每一列的简单解释
– id: 1
– select_type: SIMPLE 表示select的类型,常见的取值有SIMPLE()
简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层
的查询)、UNION(UNION中的第二个或者后面的查询语句)、
SUBQUERY(子查询中的第一个SESECT)等
– table: stu 输出结果集的表
– type: range 表示表的连接类型,性能有好到差:system(表仅一行
)、const(只一行匹配)、eq_ref(对于前面的每一行使用主键和唯
一)、ref(同eq_ref,但没有使用主键和唯一)、ref_or_null(同前
面对null查询)、index_merge(索引合并优化)、
unique_subquery(主键子查询)、index_subquery(非主键子查
询)、range(表单中的范围查询)、index(都通过查询索引来得到
数据)、all(通过全表扫描得到的数据)
– possible_keys: name,ind_stu_name 表查询时可能使用的索引。
– key: name 表示实际使用的索引。
– key_len: 50 索引字段的长度
– ref: NULL
– rows: 8 扫描行的数量
– Extra: Using where; Using index 执行情况的说明和描述
8、mysql不会自动回收空间?
optimize
optimize table sales;
1.myisam表没有问题.
2.innodb表ibdata1文件无法回收空间,另外的表可以.
如果已经删除了表的一大部分,或者如果已经对
含有可变长度行的表进行了很多的改动,则需要做定期优化
。这个命令可以将表中的空间碎片进行合并,但是此命令只
对MyISAM、BDB和InnoDB表起作用。
二、内容在总结中
查看慢查询的次数
mysql数据库优化课程---16、mysql慢查询和优化表空间的更多相关文章
- MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解
一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...
- 重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化
重新学习MySQL数据库5:根据MySQL索引原理进行分析与优化 一:Mysql原理与慢查询 MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能 ...
- Mysql数据库(十)MySQL性能优化
一.优化概述 为了提高MySQL数据库的性能,不要进行一系列的优化措施.如果MySQL数据库需要进行大量的查询操作,那么就需要对查询语句进行优化.对于耗费时间的查询语句进行优化,可以提高整体地查询速度 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据
在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...
- mysql 数据库导入数据报错MySQL server has gone away解决办法
mysql 数据库导入数据报错MySQL server has gone away解决办法: 进入数据库执行以下命令即可: set global wait_timeout = 2880000; set ...
- 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化
总结的一些MySQL数据库面试题 2016年06月16日 11:41:18 阅读数:4950 一.sql语句应该考虑哪些安全性? (1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语 ...
- MySQL数据库索引类型、MySQL索引的优化及MySQL索引案例
关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车.对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型 ...
- 10月28日下午MySQL数据库的增加、删除、查询(匹配数据库登录和可以增、删、查的显示数据库内容的页面))
一.匹配数据库登录 步骤: 1.做一个普通的登录界面,注意提交方式为post. <!--登录界面--> <form action="chuli.php" meth ...
随机推荐
- php用类生成二维码
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/28630289 百度云盘里面已经有了.引用 ...
- byte[]数组和int之间的转换
这里简单记录下两种转换方式: 第一种: 1.int与byte[]之间的转换(类似的byte short,long型) /** * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高 ...
- 深入浅出java IO模型
一.同步和异步 同步:一个事件或者任务的执行,会使整个流程暂时等待,也就是说如果有多个任务要执行,必须要逐个进行. 异步:一个事件或者任务的执行,不会使整个流程暂时等待,也就是说如果有多个任务要执行, ...
- 003-shell 传递参数
一.概述 可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 二.实例 以下实例我们向 ...
- php与oracle11g经典分页
<?php $t1 = xdebug_time_index(); $conn = oci_connect("SCOTT","TIGER","19 ...
- linux 下路由配置
转自 https://www.cnblogs.com/kevingrace/p/6490627.html 在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:----- ...
- 汇编文件后缀.s与.S
转载:http://www.cnblogs.com/IamEasy_Man/archive/2011/08/10/2134212.html 一.大小写后缀的区别: .s: 汇编语言源程序;汇编 .S ...
- FMX 高手博客
http://www.cnblogs.com/weii 苹果系统,很详细http://blog.sina.com.cn/s/articlelist_1157240623_0_1.html 红鱼,资料很 ...
- 数据库(11)-- Hash索引和BTree索引 的区别
索引是帮助mysql获取数据的数据结构.最常见的索引是Btree索引和Hash索引. 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引:而Mermory默认的索引是 ...
- [Windows Powershell]-学习笔记(4)
Powershell 定义变量 在powershell中变量名均是以美元符"$"开始,剩余字符可以是数字.字母.下划线的任意字符,并且powershell变量名大小写不敏感($a和 ...