mysql数据库优化课程---15、mysql优化步骤(mysql中最常用最立竿见影的优化是什么)

一、总结

一句话总结:索引优化最立竿见影

索引优化:不然有多少行要扫描多少次,1亿行大概是5到10分钟,和列的存量有关系

2、show status的作用是什么?

执行频率:mysql>show global status; global表示自数据库启动至今

了解各种sql的执行频率

通过show status命令了解各种SQL的执行频率。
格式:mysql> show [session|global]status;
其中:session(默认)表示当前连接,
global表示自数据库启动至今
mysql>show status;
mysql>show global status;
mysql>show status like ‘Com_%’;
mysql>show global status like ‘Com_%’;

• 参数说明:
• Com_XXX表示每个XXX语句执行的次数如:
– Com_select 执行select操作的次数,一次查询只累计加1
– Com_update 执行update操作的次数
– Com_insert 执行insert操作的次数,对批量插入只算一次。
– Com_delete 执行delete操作的次数
• 只针对于InnoDB存储引擎的。
– InnoDB_rows_read 执行select操作的次数
– InnoDB_rows_updated 执行update操作的次数
– InnoDB_rows_inserted 执行insert操作的次数
– InnoDB_rows_deleted 执行delete操作的次数
• 其他:
– connections 连接mysql的数量
– Uptime 服务器已经工作的秒数
– Slow_queries:慢查询的次数

3、定位执行效率的SQL语句?

explain select:explain select * from table where id=1000;
desc select:desc select * from table where id=1000;

1)explain select * from table where id=1000;
2)desc select * from table where id=1000;

1.explain或desc定位一条sql语句的影响行数.
mysql>desc select * from user where username='user8'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
   partitions: NULL
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 11
     filtered: 10.00
        Extra: Using where

4、检查服务器增、删、改和查的使用频次:(本次启动以来)?

show status:查的次数:show status like "%Com_select%";

show status like "%Com_update%";
show status like "%Com_insert%";
show status like "%Com_select%";
show status like "%Com_delete%";

5、查innodb自启动以来的影响行数?

show status:show status like "%InnoDB_rows%";

mysql> show status like "%InnoDB_rows%";
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Innodb_rows_deleted  | 2     |
| Innodb_rows_inserted | 0     |
| Innodb_rows_read     | 105   |
| Innodb_rows_updated  | 3     |
+----------------------+-------+

6、如何知道一个程序中的哪些sql语句的执行效率很慢?

慢查询日志
explain desc:explain或desc定位一条sql语句的影响行数.

1.explain或desc定位一条sql语句的影响行数.
mysql>desc select * from user where username='user8'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
   partitions: NULL
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 11
     filtered: 10.00
        Extra: Using where

2.查看mysql的慢查询日志.
1)查看慢查询日志是否开启
show variables like "%quer%";

slow_query_log  | ON
slow_query_log_file | mysql-slow.log
long_query_time | 10.000000

2)查看慢查询的次数
show status like "%quer%";
Slow_queries | 0

二、内容在总结中

推荐mysql书籍:
网易专家DBA: 《深入浅出Mysql》

1.SQL语句优化
1)优化SQL语句的一般步骤
2)索引优化
3)check与optimize使用方法
4)常用SQL的优化

检查服务器增、删、改和查的使用频次:(本次启动以来)
show status like "%Com_update%";
show status like "%Com_insert%";
show status like "%Com_select%";
show status like "%Com_delete%";

查innodb自启动以来的影响行数:
mysql> show status like "%InnoDB_rows%";
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Innodb_rows_deleted  | 2     |
| Innodb_rows_inserted | 0     |
| Innodb_rows_read     | 105   |
| Innodb_rows_updated  | 3     |
+----------------------+-------+

定位执行效率较低的SQL语句:
1.explain或desc定位一条sql语句的影响行数.
mysql>desc select * from user where username='user8'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
   partitions: NULL
         type: ALL
possible_keys: NULL
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 11
     filtered: 10.00
        Extra: Using where

2.查看mysql的慢查询日志.
1)查看慢查询日志是否开启
show variables like "%quer%";

slow_query_log  | ON
slow_query_log_file | mysql-slow.log
long_query_time | 10.000000

2)查看慢查询的次数
show status like "%quer%";
Slow_queries | 0

3.修改慢查询的时间(my.ini)
long_query_time=6

4.重启mysql服务器
net stop mysql57
net start mysql57

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

转载于:https://www.cnblogs.com/Renyi-Fan/p/9837747.html

mysql数据库优化课程---15、mysql优化步骤(mysql中最常用最立竿见影的优化是什么)...相关推荐

  1. sqldeveloper mysql迁移_通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤

    通过SQL Developer工具将MySQL数据库内容迁移至Oracle的步骤 发布时间:2020-06-08 15:52:18 来源:51CTO 阅读:210 作者:三月 本篇文章给大家主要讲的是 ...

  2. mysql数据库设计课程大纲_MySql数据库教学大纲.doc

    范文 范例 指导 参考 word版 整理 XX学院计算机系 <MySql数据库>课程教学大纲 一.课程的性质与任务 (一)本课程的性质 <数据库(一)>主要面向计算机软件技术专 ...

  3. mysql课程标准_102214《MySql数据库》课程标准.doc

    <MySql数据库>课程标准 课程代码: 102214 参考学时: 72 学 分: 4 课程类型: 专业课 2015年 1月编 一.适用专业 计算机应用技术专业(5年制高职). 二.开课时 ...

  4. mysql数据库改成支持中文_修改Mysql编码支持中文

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:&g ...

  5. mysql数据库python基础知识_python学习之Mysql数据库编程基础知识介绍

    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的:同时在WAMP(Windows.Apache.MySQL.PHP或Python)开发网站中,也可以通过Pytho ...

  6. 组态王读mysql数据库_组态王6.55连接MySql数据库(笔记)

    组态王6.55连接MySql数据库(笔记) 1. 安装Mysql数据库 此步骤注意设置用户名和密码 比如设置:root用户的密码为123 2. 安装Navicat图形界面 安装Navicat 8 fo ...

  7. Linux下自动备份MySQL数据库及Can‘t connect to local MySQL server through socket和you need (at least one of) 解决e

    Linux下自动备份MySQL数据库及Can't connect to local MySQL server through socket和Access denied; you need (at le ...

  8. MySQL数据库5.7版本安装部署及常规命令 增删改查 索引 事务 优化

    概述:数据库(Database)是按照数据结构组织.存储和管理数据的仓库,它产生于距今六十多年前,数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统,在各个方面得 ...

  9. MySQL数据库肖睿版_正版 MySQL数据库应用技术及实战肖睿MySQL数据库数据操作数据恢复备份MySQL数据库优化My...

    基本信息 书名:MySQL数据库应用技术及实战 定价:32.00元 作者:肖睿程宁田崇峰 出版社:人民邮电出版社 出版日期:2018-01-01 ISBN:9787#115474223 字数: 页码: ...

最新文章

  1. kotlin使用代码javaClass或class.java报错:unresolved reference
  2. 多线程与高并发(七):详解线程池 - 自定义线程池,JDK自带线程池,ForkJoin,源码解析等
  3. 浏览器访问web服务器的图解和tomcat体系结构图
  4. python 装饰器 java,python之各种装饰器的使用
  5. 事件内核对象 CreateEvent
  6. ZZULIOJ 1117: 查找数组元素
  7. .net页面调用JS时出现乱码
  8. PyTorch 1.0 中文官方教程:torch.nn 到底是什么?
  9. [Hands-on Lab (2) - 使用Helm部署OpenShift应用
  10. 面试官:你给我手写个RPC框架看看
  11. C#中启动外部应用程序
  12. FreeRTOS的HOOK,以及(23)FreeRTOS 空闲任务分析
  13. python批量解压文件_Python 批量解压ZIP和RAR压缩文件(循环验证密码)
  14. 中国北斗卫星导航系统
  15. php导出word 模板,Laravel+phpword导出word
  16. 屏蔽百度搜索右边的热点和广告推广
  17. 【抽奖平台开发(1)】抽奖功能的前端实现(HTML+JS+CSS)
  18. Effective C++读书笔记 摘自 pandawuwyj的专栏
  19. RK312x机顶盒Android4.4系统编译
  20. PLSQL启动报错:Initialization error

热门文章

  1. 定时任务重启后执行策略_quartz定时任务框架调度机制解析
  2. eeglab中文教程系列(6)-数据叠加平均{1}(Data averaging)
  3. Linux启动加载过程解析
  4. 阿里安全开源隐私计算新技术:计算速度快20倍,通信成本低2倍,已登安全顶会...
  5. Meta AI推出“杂食者”:一个模型搞定图像、视频和3D数据三大分类任务,性能还不输独立模型...
  6. GitLab上市首日大涨35%,市值逼近千亿,营收87%来自订阅服务
  7. 英特尔用ViT做密集预测效果超越卷积,性能提高28%,mIoU直达SOTA|在线可玩
  8. 免费试用人数太多,微软Windows 365云电脑服务器炸了,官方紧急暂停
  9. 被Facebook终止合作,被谷歌下架,股价营收皆腰斩,猎豹只剩AI一根救命稻草了...
  10. 2019中国独角兽新增数锐减62%,仅有22家;美国新增78家,占全球大半