查看MYSQL中数据表占用的空间

由于数据太大了。所以MYSQL需要瘦身,那前提就是需要知道每个表占用的空间大小。

首先打开指定的数据库:

use information_schema;

 

如果想看指定数据库中的数据表,可以用如下语句:

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='AAAA' and table_name='BBBB';

 

如果想看数据库中每个数据表的,可以用如下语句:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,2), 'MB') as data FROM TABLES WHERE TABLE_SCHEMA='AAAA';

 

输出:

时间: 2024-11-25 01:01:27

查看MYSQL中数据表占用的空间的相关文章

mysql中数据表复制语句(表结构、表数据)

1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除. 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key.Extra(auto_increment)等属性.需要自己用"alter"添加,而且容易搞错. 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表WHERE 1=2

关于查看MSSQL 数据库 用户每个表 占用的空间大小_php技巧

最近做项目需要查看数据用户表的大小,包括记录条数和占用的磁盘空间数目.在网上找了很久其中查看MSSQL数据库每个表占用的空间大小 相对还可以.不过它的2.3中方法返回的数据比较多,有些是我们不关心的数据,我在AdventureWorks2012数据上做的测试.其中第二种方法代码如下: 复制代码 代码如下: View Code if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespacein

SQL 某张表中每个字段占用的空间

问题描述 SQL 某张表中每个字段占用的空间 比如表 Student 含有字段 ID**Name****Class****Tel**那么我现在想知道**Name**这个字段下的数据占了多少空间,**Class**这个字段下的数据又占了多少空间 解决方案 这个与你的字段的数据类型有关系啊 如果是VARCHAR(MAX)的话 你的字符串是多少位 就占据多少的空间 如果INT的话 是4位 解决方案二: 取决于你所定义的字段类型,不同的数据库稍有差别.

数据-Mysql中设置表的外键的时候报错

问题描述 Mysql中设置表的外键的时候报错 这个是原句子: ALTER TABLE emp ADD CONSTRAINT id_fk FOREIGN KEY (deptno) REFERENCES Dept (deptno); 就是想把emp表的deptno设置为外键,该列的数据引用Dept表的主键列deptno的数据.然后,报错信息如下: Cannot add or update a child row: a foreign key constraint fails (emp.#sql-1a

MySQL中管理表和索引的相关语句

1. 创建表 MySQL中创建表是通过create table语句实现的,语法这里就不介绍了,非常复杂,可以去官网上查询,所幸的是, 我们并不需要记住所有的选项,因为大部分都采用默认即可,下面介绍几个比较常用的选项. 1)指定存储引擎 默认的存储引擎由default-storage-engine指定,如果没有指定,则为MyISAM,如果建表时,你不想使用默认的存储 引擎,可以通过如下语句实现: create table table_name ( ... ) engine=engine_name;

表设计-mysql关于数据表的设计

问题描述 mysql关于数据表的设计 我现在有一个member(用户表)里面存放了一个用户的所有信息.还有一个hobby(爱好表)里面存放所有的爱好.现在我需要给用户存放hobby表里面的爱好.我是应该直接在member表里面加一个hobby字段,然后存放爱好表里面的ID如(123),还是应该再一个表来存放用户跟爱好的关系呢?或者还有没有其它更好的可能,**注意:一个用户可以有多个爱好,而以后我只需要查询某一个爱好的人有那些.** 解决方案 这个还是要根据你的需要来定, 如果说以后都是以用户来查

MySQL清空数据表的方法实例与分析_Mysql

MySQL数据库中,如果我们想清空数据表(删除数据表中所有内容)的话,可以通过下面两个语句来实现: truncate table table_n; delete from table_n; 实例 我们先通过实例看下通过这两种方式清空数据库的过程和结果 #delete演示 mysql> create table testforde( -> number int not null auto_increment, -> name varchar(20) not null, -> prim

浅谈mysql中多表不关联查询的实现方法_Mysql

大家在使用MySQL查询时正常是直接一个表的查询,要不然也就是多表的关联查询,使用到了左联结(left join).右联结(right join).内联结(inner join).外联结(outer join).这种都是两个表之间有一定关联,也就是我们常常说的有一个外键对应关系,可以使用到 a.id = b.aId这种语句去写的关系了.这种是大家常常使用的,可是有时候我们会需要去同时查询两个或者是多个表的时候,这些表又是没有互相关联的,比如要查user表和user_history表中的某一些数据

.mer文件怎么生成mysql中的表

问题描述 .mer文件怎么生成mysql中的表 小弟在myeclipse中导入了一个别人的项目,其中有一个****.mer的文件,里面是创建表的一些语句,不过有点儿类似与html,都带有标签.我是编程新手,只知道sql文件可以生成表,对这个文件怎么生成数据库,不知道,哪位大神愿意帮忙解释下