天道酬勤,学无止境

删除表

在MySQL中如何有效的删除一个大表?

在MySQL中如何有效的删除一个大表? Oracle大表的删除: http://blog.itpub.net/26736162/viewspace-2141248/ 在DROP TABLE 过程中,所有操作都会被HANG住。 这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放。 在我们常用的ext3,ext4,ntfs文件系统,要删除一个大文件(几十G,甚至几百G)还是需要点时间的。 下面我们介绍一个快速DROP table 的方法; 不管多大的表,INNODB 都可以很快返回,表删除完成; 实现:巧用LINK(硬链接) 实测: root @127.0.0.1 : test 21:38:00> show table status like ‘tt’ \G *************************** 1. row *************************** Name: tt Engine: InnoDB Version: 10 Row_format: Compact Rows: 151789128 Avg_row_length: 72 Data_length: 11011096576 Max_data_length: 0 Index_length: 5206179840 Data_free

2021-04-19 15:47:16    分类:博客    mysql   删除表

MySQL深入研究:操作表

俗世游子:专注技术研究的程序猿 说在前面的话 在之前已经聊完了MySQL的安装和用户管理,这一节我们开始进入真正的主题。 在业界我们一般只做这四件事情: C(创建)R(读取)U(修改)D(删除) 今天我们着重聊CUD,不过不是对数据,而是对表空间的操作 回顾前面的操作 我们不要通过root账户来操作了,还记得前面用户管理的操作么,我们现在先来创建一个完整的用户:mysqler,之后就通过创建的用户来进行操作 # 创建角色 create role 'mysqlApp'@'%'; # 创建库 create database mysqlApp; # 角色授权 grant all on mysqlApp.* to 'mysqlApp'@'%'; # 创建用户 create user 'mysqler'@'%' identified with mysql_native_password by 'MYSQLmysql123!@#' default role mysqlApp; # 刷新 flush privileges; 好了,准备工作到此结束,现在开始进入正题 创建表空间 基础创建:CREATE TABLE CREATE TABLE语句表示我们创建表的语句,想要执行成功该语句,必须拥有CREATE权限。 如果我们通过help create table查看该SQL语句的语法

2021-04-19 12:13:11    分类:博客    mysql   创建表   删除表   mysql