zoukankan      html  css  js  c++  java
  • 小贝_mysql sql语句优化过程

    sql语句优化

    一、SQL优化的一般步骤

      (1)、通过show status命令了解各种SQL的运行频率。

      (2)、定位运行效率较低的SQL语句-(重点select) 

      (3)、通过explain分析低效率的SQL语句的运行情况

      (4)、确定问题并採取对应的优化措施

    (1) 通过showstatus命令了解各种SQL的运行频率

    MySQLclient连接成功后,通过使用show[session|global] status 命令能够提供server状态信息。

    当中的session来表示当前的连接的统计结果,global来表示自数据库上次启动至今的统计结果。默认是session级别的。

    以下的样例: show status like ‘Com_%’;

    当中Com_XXX表示XXX语句所运行的次数。

    重点注意:

    Com_select,Com_insert,Com_update,Com_delete通过这几个參数,能够easy地了解到当前数据库的应用是以插入更新为主还是以查询操作为主。以及各类的SQL大致的运行比例是多少。

    參数说明:

    com_xxx表示每一个xxx语句的运行次数.如:

    com_select 表示运行select操作的次数,一次查询仅仅累计加1

    com_update 表示运行update操作的次数

    com_insert 表示运行insert操作的次数,对批量插入仅仅算一次

    com_delete 表示运行delete操作的次数

    仅仅针对innodb存储引擎的參数

    Innodb_rows_deleted运行delete操作所影响的行数

    Innodb_rows_inserted运行insert操作所影响的行数

    Innodb_rows_read运行select操作所影响的行数

    Innodb_rows_updated运行update操作所影响的行数

    还有几个经常使用的參数便于用户了解数据库的基本情况。

    connections:试图连接MySQLserver的次数(成功or失败都会进行累加)

    uptime:server工作的时间(单位秒)

    slow_queries:慢查询的次数 (默认是10)


    (2)、定位运行效率较低的SQL语句

    通过开启慢查询

    (3)、通过explain分析低效率的SQL语句的运行情况

    (4)、确定问题并採取对应的优化措施



    The quieter you become,the more you are able to hear!

  • 相关阅读:
    while for循环
    Python模块
    python内置函数
    【简介】《GM/T 0034-2014 基于SM2密码算法的证书认证系统密码及其相关安全技术规范》
    Markdown的Diagrams
    密码设备管理-对称密钥管理
    TortoiseSVN的简单使用
    Android Studio安装后的设置
    Android Studio升级后,新建Activity后setContentView(R.layout.activity_layout_main);中R变红
    简介Floyd算法
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6872394.html
Copyright © 2011-2022 走看看