首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以最少的停机时间运行优化表

如何以最少的停机时间运行优化表
EN

Stack Overflow用户
提问于 2013-08-27 14:42:36
回答 4查看 10.8K关注 0票数 2

在生产环境中,我在64 DB的RAM机器上有一个+-40 DB的MySQL 5.5DB。所有的表都是InnoDB。还有一个奴隶正在作为备份运行。

一张表--最重要的一张--增长到1.5亿行,插入和删除变得缓慢。为了加速插入和删除,我删除了表的一半。这并没有像预期的那样加快速度;插入和删除仍然很慢。

我已经读过,在这种情况下,运行OPTIMIZE TABLE可以有所帮助。据我所知,此操作将需要对整个表设置一个读锁,而优化表可能需要相当长的时间。

在最小化停机时间的同时优化这个表的好策略是什么?

编辑要优化的特定表有+- 9100万行,如下所示:

代码语言:javascript
复制
+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| channel_key | varchar(255) | YES  | MUL | NULL    |                |
| track_id    | int(11)      | YES  | MUL | NULL    |                |
| created_at  | datetime     | YES  |     | NULL    |                |
| updated_at  | datetime     | YES  |     | NULL    |                |
| posted_at   | datetime     | YES  |     | NULL    |                |
| position    | varchar(255) | YES  | MUL | NULL    |                |
| dead        | int(11)      | YES  |     | 0       |                |
+-------------+--------------+------+-----+---------+----------------+
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-09-11 12:58:55

Percona的pt-在线-模式更改为您做到了这一点。在这种情况下,效果很好。

票数 6
EN

Stack Overflow用户

发布于 2013-08-27 18:01:22

即使磁盘很慢,插入300毫秒似乎也太过了。我会调查一下根本原因。优化这个表需要很长时间。MySQL将在磁盘上创建表的副本。

根据您的innodb_buffer_pool的大小(如果表是innodb),主机上的空闲内存,我将尝试在操作系统的页面缓存中预加载整个表,以便至少将读取数据的速度提高几个数量级。

如果您使用的是innodb_file_per_table,或者它是一个MyISAM表,那么很容易就可以使用"time cat /path/ to /mysql/data/db/MyISAM_table.ibd> /dev/null“缓存整个文件。当您重新运行该命令并在几秒钟内运行时,您可以假设文件内容位于OS页缓存中。

您可以通过查看临时文件的大小来监视“优化表”运行时的进度。它通常位于数据库数据目录中,其临时文件名以一个破折号(#)字符开头。

票数 2
EN

Stack Overflow用户

发布于 2017-12-14 08:06:30

这篇文章建议首先删除表中的所有索引,然后优化它,然后再添加索引。它声称速度差是刚刚优化的速度的20倍。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18468600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档