❶ 如何查看数据库每个表占用的空间
第一种:
如果想知道Mysql数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:
TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
其他字段请参考MySQL的手册,我们只需要了解这几个就足够了。
所以要知道一个表占用空间的大小,那就相当于是 数据大小 + 索引大小 即可。
SQL:
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名'
第二种:
1、进去指定schema 数据库(存放了其他的数据库的信息)
1 mysql> use information_schema;
2
Database changed
2、查询所有数据的大小
1 mysql> selectconcat(round(sum(DATA_LENGTH/1024/1024), 2),'MB')
2 -> as data fromTABLES;
3 +-----------+
4 | data |
5 +-----------+
6 | 6674.48MB |
7 +-----------+
8 1 row inset (16.81 sec)
3、查看指定数据库实例的大小,比如说数据库 forexpert
1 mysql> selectconcat(round(sum(DATA_LENGTH/1024/1024), 2),'MB')
2 -> as data fromTABLES where table_schema='forexpert';
3 +-----------+
4 | data |
5 +-----------+
6 | 6542.30MB |
7 +-----------+
8 1 row inset (7.47 sec)
4、查看指定数据库的表的大小,比如说数据库 forexpert 中的 member 表
1 mysql> selectconcat(round(sum(DATA_LENGTH/1024/1024),2),'MB')as data
2 -> from TABLES wheretable_schema='forexpert'
3 -> and table_name='member';
4 +--------+
5 | data |
6 +--------+
7 | 2.52MB |
8 +--------+
9 1 row inset (1.88 sec)
❷ 如何查看ORACLE数据库剩余空间
1. 查看所有表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 || 'M' from dba_data_files
group by tablespace_name;
2. 已经使用的表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 || 'M'
from dba_free_space
group by tablespace_name;
3. 所以使用空间可以这样计算
select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 || 'M'
total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024|| 'M' free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
4. 下面这条语句查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
5. 还有在命令行情况下如何将结果放到一个文件里。
SQL> spool out.txt
SQL> select * from v$database;
SQL> spool off
❸ 如何查询数据库当前占用空间的大小
查询出当前用户的表所占用的空间大小,并按大小进行降序排列: Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes)/1024/1024 desc查询出系统表空间的大小
❹ 如何使用SQL语句查询数据库及表的空间容量
--1、查看表空间的名称及大小
select
t.tablespace_name,
round(sum(bytes/(1024*1024)),0)
ts_size
from
dba_tablespaces
t,
dba_data_files
d
where
t.tablespace_name
=
d.tablespace_name
group
by
t.tablespace_name;
--2、查看表空间物理文件的名称及大小
select
tablespace_name,
file_id,
file_name,
round(bytes/(1024*1024),0)
total_space
from
dba_data_files
order
by
tablespace_name;
3.查看所有表空间使用情况
select
b.file_id
文件ID号,
b.tablespace_name
表空间名,
b.bytes/1024/1024||'M'字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'
已使用,
sum(nvl(a.bytes,0))/1024/1024||'M'
剩余空间,
round(100
-
sum(nvl(a.bytes,0))/(b.bytes)*100,2)||
'%'
占用百分比
from
dba_free_space
a,dba_data_files
b
where
a.file_id=b.file_id
group
by
b.tablespace_name,b.file_id,b.bytes
order
by
b.file_id;
总有一款适合你!
❺ 怎么通过SQL语句查看MySQL数据库的表空间状态
1. 查看数据库的索引空间大小
在MySQL Workbench中运行以下SQL语句:
— 以GB为单位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Index Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
— 以MB为单位
SELECT
CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Index Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:
2. 查看数据库的数据空间大小
在MySQL Workbench中运行以下SQL语句:
— 以GB为单位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Data Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
— 以MB为单位
SELECT
CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Data Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:
3. 查看数据库中所有表的信息
在MySQL Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:
SELECT
CONCAT(table_schema,’.’,table_name) AS ‘Table Name’,
table_rows AS ‘Number of Rows’,
CONCAT(ROUND(data_length/(1024*1024),6),’ MB’) AS ‘Data Size’,
CONCAT(ROUND(index_length/(1024*1024),6),’ MB’) AS ‘Index Size’,
CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’ MB’) AS’Total Size’
FROM
information_schema.TABLES
WHERE
table_schema LIKE ‘database’;
其中,database是待查看数据库的名称,例如:lsqdb%。
❻ 怎样查询oracle数据库中所有的表空间
1、首先需要找到oracle安装目录,打开控制台管理。
❼ 如何查看sql server 2005 express 数据库占用多少空间
如果是要查看一个数据库的空间的话,就C:\Program
Files\Microsoft
SQL
Server\MSSQL.1\MSSQL\Data
目录下找到你要查看的数据库文件(2个,一个是mdf文件,一个是ldf文件),
找到后查看属性就可以知道了,
如果想看所有的数据库总的占用空间的话,就直接查看C:\Program
Files\Microsoft
SQL
Server\MSSQL.1\MSSQL\Data
目录的占用空间就可以了,
呵呵,希望能有帮助,^_^
❽ oracle数据库如何查看表空间大小
1.查看Oracle数据库中表空间信息的工具方法: 使用oracle enterprise manager console工具,这是oracle的客户端工具,当安装oracle服务器或客户端时会自动安装此工具,在...
2.查看Oracle数据库中表空间信息的命令方法: 通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQL..
❾ 如何查看一条数据所占据空间的大小
学过电脑都知道,一个字符占用2个字节。
1TB=1024GB
1GB=1024MB
1MB=1024KB
1KB=1024B
1字节=1B
1个汉字=2B
1个大写字母或小写字母=1B
标点符号英文状态下为1B,中文全角为2B。
那你算吧,一条信息有多少字量。