zoukankan      html  css  js  c++  java
  • 数据库计算每个表所占空间和记录数

    sql server

     1 USE database_20160215
     2 GO
     3 
     4 SELECT
     5 TableName = obj.name,
     6 TotalRows = prt.rows,
     7 [SpaceUsed(KB)] = SUM(alloc.used_pages)*8
     8 FROM sys.objects obj
     9 JOIN sys.indexes idx on obj.object_id = idx.object_id
    10 JOIN sys.partitions prt on obj.object_id = prt.object_id
    11 JOIN sys.allocation_units alloc on alloc.container_id = prt.partition_id
    12 WHERE
    13 obj.type = 'U' AND idx.index_id IN (0, 1)
    14 GROUP BY obj.name, prt.rows
    15 ORDER BY TableName

    Mysql

    /*这里面的单位是Byte*/
    SELECT
        TABLE_NAME,
        DATA_LENGTH,
        INDEX_LENGTH,
        DATA_LENGTH + INDEX_LENGTH,
        TABLE_ROWS
    FROM
        information_schema. TABLES
    WHERE
        TABLE_SCHEMA = 'database_20160215';

    Oracle

    /*查某一用户下的表*/
    select SEGMENT_NAME, TABLESPACE_NAME, sum(BYTES) || ' Bytes'
      from USER_extents
     where SEGMENT_TYPE = 'TABLE'
     group by SEGMENT_NAME,
              TABLESPACE_NAME
    
    /*查所有的表*/
    select SEGMENT_NAME, TABLESPACE_NAME, sum(BYTES) || ' Bytes'
      from dba_extents
     where SEGMENT_TYPE = 'TABLE'
     group by SEGMENT_NAME, TABLESPACE_NAME
  • 相关阅读:
    MySQL 之 创建千万数据测试
    MySQL中的各种引擎
    MySQL 之【约束】【数据库设计】
    MySQL 的增删改查
    SQL数据类型
    SQL 数据类型
    数据库
    摘要算法
    Python 标准库-json
    Python 标准库-sys
  • 原文地址:https://www.cnblogs.com/mtsl/p/5190378.html
Copyright © 2011-2022 走看看