高性能mysql读书笔记:Schema与数据类型优化

Posted 一束光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高性能mysql读书笔记:Schema与数据类型优化相关的知识,希望对你有一定的参考价值。

4.5 加快ALTER TABLE 操作的速度

原理:

mysql 的ALTER TABLE 操作的性能对大表来说是个大问题。

MySQL 执行大部分修改表结构操作的方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表。这样操作可能需要花费很长时间,如果内存不足而表又很大,而且还有很多索引的情况下尤其如此

特点:

  • 大部分ALTER TABLE 操作将导致MySQL 服务中断
  • ALTER TABLE 本质是建新结构的表,从旧表插入数据到新表 (SHOW STATUS 显示这个语句做了1 000 次读和1 000 次插入操作)
  • ALTER table 会锁表,整个表是只读锁定

解决办法:

1:一种是先在一台不提供服务的机器上执行ALTER TABLE 操作,然后和提供服务的主库进行切换;

2:另外一种技巧是“影子拷贝”。影子拷贝的技巧是用要求的表结构创建一张和源表无关的新表,然后通过重命名和删表操作交换两张表。

 

以上是关于高性能mysql读书笔记:Schema与数据类型优化的主要内容,如果未能解决你的问题,请参考以下文章

MySQL《高性能MySQL》学习笔记,第四章,Schema与数据类型优化

《高性能MySQL》——Schema与数据类型优化(笔记)

《高性能MySQL》读书笔记

高性能mysql笔记---schema与数据结构[-3-]

Schema与数据类型优化

《MySQL技术内幕——SQL编程》读书笔记——数据类型