table表格中内容太长怎么方便看,table表格居中在哪里设置

首页 > 经验 > 作者:YD1662022-10-29 00:53:36

概述

我们很多时候都会去drop一些大表,特别是生产环境做操作时,这里主要提一些注意事项,仅供参考。


01相关语法

1、删表

DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]

可一次删除一张或多张表。需具有所删除表上的DROP权限。表定义文件和数据文件均被移除。表被删除后表上的用户权限不会被自动删除。参数里表中指定的表名不存在则报错,但对于存在的表仍会删除。可通过指定IF EXISTS阻止表不存在时引发的错误(此时对于不存在的表仅产生一个NOTE)。

对于分区表,除了移除表定义,分区、数据外还移除与之关联的分区定义文件(.par)。

在mysql5.6中参数[RESTRICT | CASCADE]不做任何事情。[TEMPORARY] 关键字表明只删临时表,语句不会结束正在进行的事务(MySQL中DDL语句会隐式提交),不会进行权限检查。

2、删库

DROP DATABASE Syntax DROP {DATABASE | SCHEMA} [IF EXISTS] db_name...

删除指定库中的表之后删除库。需具有库上的DROP权限。库被删除后库上存在的用户权限不会被自动删除。IF EXISTS用于阻止库名不存在时引起的错误。库被删除后默认库会被重置。若在使用了符号链接的库上执行DROP DATABASSE 连接和原始数据库都会被删除。命令返回被移除的表数量。

该命令会从指定的数据库目录中移除常规操作时MySQL自己产生的文件和目录,如:.BAK .DAT .HSH .MRG. MYD .MYI .TRG .TRN .db.frm .ibd .ndb .par,若存在db.opt也同样会删除。若数据库目录中存在其他非MySQL本身产生的文件或目录,则整个数据库目录不会被移除。此时,需手动清理剩余的文件并重新运行DROP DATABASE语句。

删除数据库并不会移除库中创建的临时表。临时表在SESSION结束时自动被清理或者显示的通过DROP TEMPORARY TABLE 删除。


02删除大表的注意事项

对于表的删除,因为InnoDB引擎会在table cache层面维护一个全局独占锁一直到DROP TABLE完成为止,这样,对于表的其他操作会被HANG住。对于较大的表来说,DROP TABLE操作可能需要很长的时间,因此需要一种有效的办法来提升大表的删除速度,以尽可能降低HANG住的时间。这里可以通过设置硬链接来达到此目的。

这里用一个简单实验来测试一下:

1、创建测试表

表名:no_part_tab,1.8亿数据量,表大小5.4G。

delimiter // CREATE PROCEDURE load_no_part_tab() begin declare v int default 0; while v < 1000000 do insert into no_part_tab values (v,'testing partitions',adddate('1995-01-01',(rand(v)*36520) mod 3652)); set v = v 1; end while; end // mysql> delimiter ; mysql> call load_no_part_tab(); mysql> insert into no_part_tab select * from no_part_tab; ..... mysql> create table t2 as select * from no_part_tab nologging;

table表格中内容太长怎么方便看,table表格居中在哪里设置(1)

使用InnoDB引擎且指定innodb_file_per_table=ON时在数据目录中与该表对应的有如下两个文件,分别为表定义文件和数据文件。

table表格中内容太长怎么方便看,table表格居中在哪里设置(2)

table表格中内容太长怎么方便看,table表格居中在哪里设置(3)

2、drop table

直接使用DROP TABLE来完成删表动作,正常这条语句要执行很长时间。因为数据量只有5G,所以不是很明显。(这台服务器空间不够了,所以数据量没加上去..)

table表格中内容太长怎么方便看,table表格居中在哪里设置(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.