资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么看mysql表空间 mysql的表空间怎么看

mysql 怎么查看 临时表空间使用情况

if (select object_ID('tempdb..#BaseInfoFK')) 0 drop table #BaseInfoFK

十余年的下陆网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整下陆建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“下陆网站设计”,“下陆网站推广”以来,每个客户项目都认真落实执行。

select a.* into #BaseInfoFK from (select * from table)a#BaseInfoFK是临时表的名一定要加#

查看数据库中有哪些表空间

一、系统表空间

在 MySQL 数据目录下有一个名为 ibdata1 的文件,可以保存一张或者多张表。

923275 12M -rw-r----- 1 mysql mysql 12M 3月 18 10:42 ibdata1

这个文件就是 MySQL 的系统表空间文件,默认为 1 个,可以有多个,只需要在配置文件 my.cnf 里面这样定义即可。

innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系统表空间不仅可以是文件系统组成的文件,也可以是非文件系统组成的磁盘块,比如裸设备,定义也很简单innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw

系统表空间里都有些啥内容?

具体内容包括:double writer buffer、 change buffer、数据字典(MySQL 8.0 之前)、表数据、表索引。

那 MySQL 为什么现在主流版本默认都不是系统表空间?

究其原因,系统表空间有三个最大的缺点:原因 1:无法做到自动收缩磁盘空间,造成很大的空间浪费。即使它包含的表都被删掉,这部分空间也不会自动释放。

二、单表空间

单表空间不同于系统表空间,每个表空间和表是一一对应的关系,每张表都有自己的表空间。具体在磁盘上表现为后缀为 .ibd 的文件。比如表 t1,对应的表空间文件为 t1.ibd917107 96K -rw-r----- 1 mysql mysql 96K 3月 18 16:13 t1.ibd

单表空间如何应用到具体的表呢?

有两种方式:方式 1:在配置文件中开启。在配置文件中开启单表空间设置参数 innodb_filer_per_table,这样默认对当前库下所有表开启单表空间。innodb_file_per_table=1另外也可以直接建表时指定单表空间mysql create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;

Query OK, 0 rows affected (0.04 sec)

单表空间除了解决之前说的系统表空间的几个缺点外,还有其他的优点,详细如下:

1. truncate table 操作比其他的任何表空间都快;

2. 可以把不同的表按照使用场景指定在不同的磁盘目录;

比如日志表放在慢点的磁盘,把需要经常随机读的表放在 SSD 上等。

mysql create table ytt_dedicated (id int) data directory = '/var/lib/mysql-files';

Query OK, 0 rows affected (0.04 sec)3. 可以用 optimize table 来收缩或者重建经常增删改查的表。一般过程是这样的:建立和原来表一样的表结构和数据文件,把真实数据复制到临时文件,再删掉原始表定义和数据文件,最后把临时文件的名字改为和原始表一样的。

三、通用表空间

通用表空间先是出现在 MySQL Cluster 里,也就是 NDB 引擎。从 MySQL 5.7 引入到 InnoDB 引擎。通用表空间和系统表空间一样,也是共享表空间。每个表空间可以包含一张或者多张表,也就是说通用表空间和表之间是一对多的关系。

怎么通过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%。

linux系统中mysql数据库怎么查看表空间

linux系统进入mysql数据库的方法:

连接MYSQL:

格式: mysql -h主机地址 -u用户名 -p用户密码

1、连接到本机上的MYSQL。

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql

2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)

3、退出MYSQL命令: exit (回车)

一个建库和建表以及插入数据的实例:

create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int(3) auto_increment not null primary key, //id设置为主关键字,并自动设值,也就是添加的时候,你不必向ID字段写内容

name char(10) not null,

address varchar(50) default '深圳', //设置默值为深圳

year date

); //建表结束

//以下为插入字段

insert into teacher values('','glchengang','建平一中','1976-10-10'); //ID不用写内容

insert into teacher values('','jack','建平一中','1975-12-23');


文章题目:怎么看mysql表空间 mysql的表空间怎么看
新闻来源:http://cdkjz.cn/article/docjsee.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220