查找数据库大小和表大小

在使用云数据库时,如aws rds、阿里云rds等等,没有提供系统级别的权限,要想获知数据库和表的大小就只好通过查询语句来了。

查看MySQL数据库大小

SELECT table_schema “Database Name”, sum( data_length + index_length ) / 1024 / 1024 “Database Size in MB” FROM information_schema.TABLES GROUP BY table_schema;
mysql> SELECT table_schema “Database Name”, sum( data_length + index_length ) / 1024 / 1024 “Database Size in MB” FROM information_schema.TABLES GROUP BY table_schema;
+——————–+———————+
| Database Name      | Database Size in MB |
+——————–+———————+
| dev_xian7_cn       |          0.06250000 |
| fuwu_ttlsa_com     |          0.80861568 |
| information_schema |          0.00781250 |
| main               |          0.12500000 |
| mysql              |          0.63574028 |
| my_xian7_cn        |          5.06250000 |
| www_ttlsa_com      |         81.73545456 |
| www_ttmark_com     |         31.87838650 |
| wx                 |          0.00613022 |
| zhifu_xian7_cn     |          1.95312500 |
+——————–+———————+
10 rows in set (1.04 sec)

查看MySQL表大小

SELECT table_name AS “Tables”,round(((data_length + index_length) / 1024 / 1024), 2) “Size in MB”
FROM information_schema.TABLES
WHERE table_schema = “www_ttlsa_com”
ORDER BY (data_length + index_length) DESC;
mysql> SELECT table_name AS “Tables”,round(((data_length + index_length) / 1024 / 1024), 2) “Size in MB”
    -> FROM information_schema.TABLES
    -> WHERE table_schema = “www_ttlsa_com”
    -> ORDER BY (data_length + index_length) DESC;
+———————————-+————+
| Tables                           | Size in MB |
+———————————-+————+
| ttlsa_postmeta                   |      29.74 |
| ttlsa_posts                      |      25.04 |
| ttlsa_redirection_404            |      15.30 |
| ttlsa_sph_stats                  |       2.53 |
| ttlsa_options                    |       2.53 |
| ttlsa_comments                   |       1.44 |
| ttlsa_commentmeta                |       1.17 |
| ttlsa_redirection_logs           |       1.11 |
| ttlsa_usermeta                   |       0.75 |
| ttlsa_cst_files                  |       0.70 |
| ttlsa_term_relationships         |       0.38 |
| ttlsa_redirection_items          |       0.30 |
| ttlsa_terms                      |       0.28 |
| ttlsa_term_taxonomy              |       0.19 |
| ttlsa_post_views_realtime        |       0.07 |
| ttlsa_wp_rp_tags                 |       0.06 |
| ttlsa_users                      |       0.04 |
| ttlsa_ez_adsense_options         |       0.04 |
| ttlsa_post_views_history         |       0.03 |
| ttlsa_links                      |       0.01 |
| ttlsa_pollsip                    |       0.00 |
| ttlsa_redirection_groups         |       0.00 |
| ttlsa_redirection_modules        |       0.00 |
| ttlsa_termmeta                   |       0.00 |
| ttlsa_woocommerce_order_itemmeta |       0.00 |
| ttlsa_post_views_summary         |       0.00 |
| ttlsa_mobilepress                |       0.00 |
| ttlsa_pollsa                     |       0.00 |
| ttlsa_ahm_download_stats         |       0.00 |
| ttlsa_pollsq                     |       0.00 |
| ahm_files                        |       0.00 |
| ttlsa_sph_counter                |       0.00 |
| ttlsa_wpo_campaign_category      |       0.00 |
| ttlsa_gravatars                  |       0.00 |
| ttlsa_woocommerce_order_items    |       0.00 |
| ttlsa_nggv_votes                 |       0.00 |
| ttlsa_wpo_campaign_word          |       0.00 |
| ttlsa_seo_title_tag_tag          |       0.00 |
| ttlsa_nggv_settings              |       0.00 |
| ttlsa_wpo_campaign_post          |       0.00 |
| ttlsa_wpo_campaign_feed          |       0.00 |
+———————————-+————+
41 rows in set (0.00 sec)

找出前10的表大小

SELECT CONCAT(table_schema, ‘.’, table_name),
CONCAT(ROUND(table_rows / 1000000, 2), ‘M’) rows,
CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), ‘G’) DATA,
CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), ‘G’) idx,
CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), ‘G’) total_size,
ROUND(index_length / data_length, 2) idxfrac
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC
LIMIT 10;
mysql> SELECT CONCAT(table_schema, ‘.’, table_name),
    -> CONCAT(ROUND(table_rows / 1000000, 2), ‘M’) rows,
    -> CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), ‘G’) DATA,
    -> CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), ‘G’) idx,
    -> CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), ‘G’) total_size,
    -> ROUND(index_length / data_length, 2) idxfrac
    -> FROM information_schema.TABLES
    -> ORDER BY data_length + index_length DESC
    -> LIMIT 10;
+—————————————+——-+——-+——-+————+———+
| CONCAT(table_schema, ‘.’, table_name) | rows  | DATA  | idx   | total_size | idxfrac |
+—————————————+——-+——-+——-+————+———+
| www_ttlsa_com.ttlsa_postmeta          | 0.01M | 0.02G | 0.01G | 0.03G      |    0.65 |
| www_ttlsa_com.ttlsa_posts             | 0.00M | 0.01G | 0.02G | 0.02G      |    1.66 |
| www_ttmark_com.tm_posts               | 0.01M | 0.01G | 0.01G | 0.02G      |    0.57 |
| www_ttlsa_com.ttlsa_redirection_404   | 0.01M | 0.01G | 0.01G | 0.01G      |    0.83 |
| www_ttmark_com.tm_postmeta            | 0.10M | 0.01G | 0.00G | 0.01G      |    0.47 |
| my_xian7_cn.tbl_pp_user               | 0.01M | 0.00G | 0.00G | 0.00G      |    0.00 |
| www_ttlsa_com.ttlsa_sph_stats         | 0.03M | 0.00G | 0.00G | 0.00G      |    0.95 |
| www_ttlsa_com.ttlsa_options           | 0.00M | 0.00G | 0.00G | 0.00G      |    0.02 |
| zhifu_xian7_cn.tbl_pay_trade          | 0.00M | 0.00G | 0.00G | 0.00G      |    0.13 |
| my_xian7_cn.t_user                    | 0.00M | 0.00G | 0.00G | 0.00G      |    0.00 |
+—————————————+——-+——-+——-+————+———+
10 rows in set (0.20 sec)
时间: 2024-12-09 02:36:42

查找数据库大小和表大小的相关文章

SQL Server 2005 查看数据库表的大小 按照表大小排列

(1)Question:尼玛一个数据库,动辄几十个G,伤不起啊,怎样才能知道当前数据库里面各个表的大小呢?以便将部分较大的数据库表中不容易被频繁访问的数据归档到历史表中,例如每天将一个自然年以前的数据放入历史表中.(2)Key:网上搜了一圈,关键字sp_spaceused (参见:http://msdn.microsoft.com/zh-cn/library/ms188776.aspx)(3)Sample:同时找到了一个示例(参见:http://www.linuxso.com/linuxxito

统计MySQL数据表大小

有时候需要查询MySQL数据库中各个表大小,该如何操作呢? MySQL中有一个名为 information_schema 的数据库,在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索引大小 其他字段请参考MySQL的手册. use information_schema;SELECT TABLE_NAME,

如何才能快速知道数据库中每个表的大小?

数据|数据库 sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused [[@objname =] 'objname']    [,[@updateusage =] 'updateusage'] 参数[@objname =] 'objname' 是为其请求空间使用信息(保留和已分配的空间)的表名.objname 的数据类型是 nvarchar(776),默认设置为 NULL. [@updateus

SQL Server游标运用:查看一个数据库所有表大小信息

一.背景 在性能调优或者需要了解某数据库表信息的时候,最直观的方式就是罗列出这个数据所有表的信息,这些信息包括:表的记录数.数据记录占用空间.索引占用空间.未使用的空间等(如Figure1所示),有了这些信息你可以简单的判断这个数据库来自数据上的压力可能是某个表造成的.因为表数据越大,对数据库性能的影响越大. 要实现某个数据库所有表的信息,可以通过游标的形式获取相应的数据,下图Figure1返回某数据库中所有表的信息: (Figure1:某数据库所有表信息) 也许你并不满足于Figure1的信息

SQL Server如何查看所有数据库所有表大小信息

一.背景 之前写了篇关于:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)的文章,它罗列出某个数据所有表的信息,这些信息包括:表的记录数.数据记录占用空间.索引占用空间.没使用的空间等(如Figure1所示),现在我来讲述如何获取整个数据库实例中所有数据库所有表的信息(如Figure2所示). (Figure1:某数据库所有表信息) (Figure2:所有数据库所有表信息) 二.实现方法 下面内容讲述了在实现Fig

MySQL数据库查看数据表占用空间大小和记录数的方法_Mysql

如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHEMA : 数据库名 TABLE_NAME:表名 ENGINE:所使用的存储引擎 TABLES_ROWS:记录数 DATA_LENGTH:数据大小 INDEX_LENGTH:索引大小 其他字段请参考MySQL的手册,这几个字段对我们来说最有用. 一个表占用空间的大小,相当于是 数据大小 +

mongodb 查看数据库和表大小_MongoDB

1,查看数据库 > db.stats(); { "db" : "test", //当前数据库 "collections" : 3, //当前数据库多少表 "objects" : 4, //当前数据库所有表多少条数据 "avgObjSize" : 51, //每条数据的平均大小 "dataSize" : 204, //所有数据的总大小 "storageSize"

MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句_Mysql

查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tablesgroup by TABLE_SCHEMAorder by dat

缩小sql server数据库日志文件,限制sql server数据库日志文件的大小

由于经常和数据库打交道,经常见到在客户的机器上,SQL server数据库日志文件的大小,远远超过于数据库数据文件的大小,客户用的都是一些服务器,磁盘空间有的是,当然不在乎这点文件,可以,当客户要求查找一些数据的时候,就不得不备份客户的数据库,经常是备份回来的数据库,无法还原,原因就是我的PC上没有这么大的空间来还原,无奈啊, 只有把客户的数据库日志缩小一下了,于是从网上找了以下代码,可以收缩数据库日志,我执行了一下,日志缩小的,不过有一个错误产生,还没来的急分析,先不管他,达到目的才是硬道理