zoukankan      html  css  js  c++  java
  • 常用mysql统计信息(mysql5.6)

    概要

      系统维护中经常会用到统计mysql数据库中数据量大小的需要,因此今天整理了一下常用的几个mysql统计数据库信息的sql,方便以后使用。mysql5.6中自带的information_schema数据库,此库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。所以要想查询数据库占用磁盘的空间大小可以通过对information_schema数据库进行操作。

    information_schema中的表主要有:

      schemata表:这个表里面主要是存储在mysql中的所有的数据库的信息

      tables表:这个表里存储了所有数据库中的表的信息,包括每个表有多少个列等信息。

      columns表:这个表存储了所有表中的表字段信息。

      statistics表:存储了表中索引的信息。

      user_privileges表:存储了用户的权限信息。

      schema_privileges表:存储了数据库权限。

      table_privileges表:存储了表的权限。

      column_privileges表:存储了列的权限信息。

      character_sets表:存储了mysql可以用的字符集的信息。

      collations表:提供各个字符集的对照信息。

      collation_character_set_applicability表:相当于collations表和character_sets表的前两个字段的一个对比,记录了字符集之间的对照信息。

      table_constraints表:这个表主要是用于记录表的描述存在约束的表和约束类型。

      key_column_usage表:记录具有约束的列。

      routines表:记录了存储过程和函数的信息,不包含自定义的过程或函数信息。

      views表:记录了视图信息,需要有show view权限。

      triggers表:存储了触发器的信息,需要有super权限。

    常用sql:

    1.统计mysql中每个库各自占用空间大小,以MB为单位

    SELECT TABLE_SCHEMA as '数据库名称' , concat(SUM(data_length) / 1024 / 1024, ' MB') AS '数据长度( MB)'  , concat(SUM(index_length) / 1024 / 1024, 'MB') AS '索引长度( MB)',CONCAT((SUM(data_length)+SUM(index_length))/1024/1024, ' MB') as '数据库大小( MB)'  FROM information_schema.tables GROUP BY TABLE_SCHEMA ORDER BY SUM(data_length)+SUM(index_length) DESC;

    2.统计mysql指定库中所有表所占用的DATA_LENGTH和INDEX_LENGTH大小,以MB为单位,并按表占用空间进行排序

    SELECT TABLE_NAME as '表名称' , CONCAT(DATA_LENGTH/1024/1024, ' MB') AS '数据长度( MB)'  , CONCAT(INDEX_LENGTH/1024/1024, ' MB') AS '索引长度( MB)',CONCAT((DATA_LENGTH+INDEX_LENGTH)/1024/1024, ' MB') as '表占用空间大小( MB)' FROM information_schema.tables WHERE TABLE_SCHEMA = 'blxx_netmanager' GROUP BY TABLE_NAME ORDER BY DATA_LENGTH+INDEX_LENGTH DESC;

    3.查询指定库中表占用空间大小

    SELECT TABLE_SCHEMA AS '数据库名称', TABLE_NAME AS '表名' , concat(SUM(data_length) / 1024 / 1024, ' MB') AS '数据长度( MB)'  , concat(SUM(index_length) / 1024 / 1024, 'MB') AS '索引长度( MB)',CONCAT((SUM(data_length)+SUM(index_length))/1024/1024, ' MB') as '数据库大小( MB)' FROM information_schema.tables WHERE table_schema = '库名' AND TABLE_NAME = '表名';

     4.数据库占用总空间

    select concat(sum(DATA_LENGTH/1024/1024)+SUM(index_length/1024/1024),' MB') as '数据库占用总空间( MB)' from information_schema.tables;
  • 相关阅读:
    leetcode 350. Intersection of Two Arrays II
    leetcode 278. First Bad Version
    leetcode 34. Find First and Last Position of Element in Sorted Array
    leetcode 54. Spiral Matrix
    leetcode 59. Spiral Matrix II
    leetcode 44. Wildcard Matching
    leetcode 10. Regular Expression Matching(正则表达式匹配)
    leetcode 174. Dungeon Game (地下城游戏)
    leetcode 36. Valid Sudoku
    Angular Elements
  • 原文地址:https://www.cnblogs.com/sdhzdtwhm/p/9564630.html
Copyright © 2011-2022 走看看