[请教] mysql alter table 大表,数据库 io 不匹配的疑问

2017-05-22 10:46:16 +08:00
 mahone3297

mysql 版本 5.6.29

select TABLE_NAME, TABLE_ROWS, DATA_LENGTH/1024/1024/1024, INDEX_LENGTH/1024/1024/1024 from information_schema.TABLES where TABLE_SCHEMA = 'XXX' order by DATA_LENGTH desc;

table_name table_rows data_length index_length XXXLog 263376803 31.81933594 15.8056488

修改表字段长度

ALTER TABLE XXXLog CHANGE remark remark VARCHAR(30) DEFAULT NULL;

iostat -m 3 100000

avg-cpu: %user %nice %system %iowait %steal %idle 17.97 0.00 7.01 0.05 0.00 74.96

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn sda 560.67 4.10 37.43 12 112

** db 服务器,用的 SSD 硬盘,速度才 37mb/s ?那么慢?是因为 alter 的时候,要计算,所以瓶颈在 cpu ?

** 37mb/s,一小时应该能跑数据 37*3600 = 130G,但我跑上面的 XXXLog 表( 31g data + 15g index ),执行了 1.5h 左右,为什么?

3028 次点击
所在节点    MySQL
2 条回复
mahone3297
2017-05-23 09:39:28 +08:00
能否来点人,帮忙看看啊。。。请教啊。。。
mahone3297
2017-05-26 09:49:52 +08:00
没人懂? anybody ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/362900

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX