zoukankan      html  css  js  c++  java
  • 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 stop mysql57
    net start:net start mysql57

    5、优化表空间?

    optimize:optimize table sales;

    optimize table sales;
    1.myisam表没有问题.
    2.innodb表ibdata1文件无法回收空间.

    6、mysql测试的时候如何快速增加表的数据?

    自增数据:insert into test(username,age) select username,age from test;

    从自己身上增加数据,这是2的n次方,多弄几次数据就很大了

    insert into test(username,age) select username,age from test;

    7、通过EXPLAIN分析较低效SQL的执行情况?

    explain select:explain select count(*) from stu where name like
    "a%"G

    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 table sales;
    1.myisam表没有问题.
    2.innodb表ibdata1文件无法回收空间,另外的表可以.

    如果已经删除了表的一大部分,或者如果已经对
    含有可变长度行的表进行了很多的改动,则需要做定期优化
    。这个命令可以将表中的空间碎片进行合并,但是此命令只
    对MyISAM、BDB和InnoDB表起作用。

    二、内容在总结中

  • 相关阅读:
    Mybatis plus注解使用
    RabbitMQ--mandatory、immediate参数和备份交换器
    Assert.assertEquals作用
    @PreAuthorize,@PostAuthorize, @Secured注解+EL表达式
    Derby数据库简单介绍和使用方法
    微服务—链路追踪(Sleuth+Zipkin)
    SpringCloudStream学习笔记(转)
    Oracle-最大连接数
    Oracle-in查询超过1000
    Oracle-索引
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9839216.html
Copyright © 2011-2022 走看看