mysql drop table很慢_MYSQL缓慢的drop table 操作_MySQL
大家都知道,Ext3并不是最有效的文件系统,例如,删除文件会非常缓慢(那真是一个痛苦的过程,不是吗老兄?),造成大量的随机I / O。然而事实上,有时候它比你想象的更能影响MySQL的性能。那么,什么时候会发生,又为什么会发生呢?
当您运行
DROP TABLE
时,会有好几件事情需要去做:对表进行write lock,这样它不会被其他线程使用;存储引擎删除数据文件;当然,最后MySQL会删除表定义文件(.frm文件)。这还不是所有的事,还有另外一件事需要去做:
代码:
VOID(pthread_mutex_lock(&LOCK_open));
error= mysql_rm_table_part2(thd, tables, if_exists, drop_temporary, 0, 0);
pthread_mutex_unlock(&LOCK_open);
这整段删除表操作的代码都被
LOCK_open
互斥信号量所包围。这个互斥信号量在MySQL中不少地方都用到过,但主要是表在开启或关闭的时候。这意味着,当
LOCK_open
锁定时,没有查询语句可以执行,因为他们阻止任何访问。
这就解释了在ext3文件系统上删除10GB的文件何时成为了痛苦的等待的开始。删除10GB的文件将持续一段时间,如果这是一个MySQL表,这段时间mutex里将会一直存在,而这个互斥会拖延所有查询。
纯文字
代码:
+―
相关标签: 系统 影响
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql drop table很慢_MYSQL缓慢的drop table 操作_MySQL相关推荐
- mysql update语句很慢_缓慢的update语句性能分析
最近处理一个问题的时候,先是收到DB time升高的报警,然后查看DB time的情况发现,已经有近1000%的负载了. 最近处理一个问题的时候,先是收到DB time升高的报警,然后查看DB tim ...
- mysql实例管理工具巨杉_实例管理工具_操作_MySQL实例_关系型数据库实例_文档中心_SequoiaDB巨杉数据库...
实例管理工具 sdb_mysql_ctl 是 MySQL 实例组件的管理工具.用户通过 sdb_mysql_ctl 既可以初始化.启动和停止实例,也可以修改实例的引擎配置参数. 参数说明 参数 描述 ...
- mysql alter table drop primary key_删除主键: Alter table tabname drop primary key(col)
下列语句部分是Mssql语句,不可以在access中使用.|4J,Y,FzYS*q A0x051Testing软件测试网)c#QS"?f{ SQL分类:d2HM[]$rw0DDL-数据定义语 ...
- mysql中checktable语句来_MySQL的命令check table用法
MySQL日志文件里出现以下错误,MySQL表通常不会发生crash情况,一般是在更新数据库时MySQL停止会导致. CHECK TABLE语法 CHECK TABLE tbl_name[,tbl_n ...
- oracle drop column 多个,3000W记录,alter table drop column很慢
最初由 yzm2008 发布 [B]Alter table T set unused(COLUMN) 和 drop column有什么区别吗? [/B] SET UNUSED Clause Speci ...
- mysql有没有批量游标_MySQL使用游标批量处理进行表操作_MySQL
一.概述 本章节介绍使用游标来批量进行表操作,包括批量添加索引.批量添加字段等.如果对存储过程.变量定义.预处理还不是很熟悉先阅读我前面写过的关于这三个概念的文章,只有先了解了这三个概念才能更好的理解 ...
- 用心整理,1000行MySQL命令,很实用,建议收藏
基本操作 /* Windows服务 */-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_pat ...
- mysql的日常操作_MySQL日常操作
原标题:MySQL日常操作 安装 MySQL 5.5.27 x64 一直 next 勾选使用图形化配置 选择 尽量占用最大内存 选择 多功能型 选择 最多人数 选择 utf8 字符集 选择 添加pat ...
- mysql 插入删除操作_MySQL——增删改操作
插入语句 一次插入操作只插入一行数据 insert into [tablename](listname1,listname2,......) values (value1,value2,......) ...
最新文章
- Codeforces 900D Unusual Sequences:记忆化搜索
- hibernate中inverse作用
- pgsql_sql查询效率优化
- 用手动和自动分别实现使用其DVD安装盘作为本地yum源
- android tcp判断服务器是否断开,Android tcp客户端连接,然后从java服务器断开连接...
- HDU 4701 Game
- python通信模块_基于Python的电路故障诊断系统通信模块的实现
- 游戏开发之初识C++模板(C++基础)
- Win10将中文用户名修改为英文
- 史上最全idea插件开发入门实战(傻瓜式教程)
- 【龙印】以程序员的角度整定3d打印机的pid实现控温
- 读书笔记----10日摘抄整理(03)
- ASEMI低压降肖特基二极管怎么检测,低压降肖特基有什么优势
- 图解刘谦如何手穿玻璃桌(详细图文说明)
- 如何用计算机求特征值特征向量,特征值和特征向量计算器为4X4的实矩阵
- HBuilder教程
- 非监督神经网络的wake-sleep算法
- androidjni开发!应聘高级Android工程师历程感言,快来收藏!
- ubuntu下安装navicat
- 跨境电商小白:一件代发是什么?为什么要选择Starday一件代发?