当您遇到RDS MySQL表体积过大导致OSS数据归档操作无法顺利完成的情况时,可以参考以下步骤和建议进行处理:
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{\"OSS\":\"Y\"}';
这会将表数据归档到OSS存储中,之后该表将只支持SELECT、DROP TABLE、DROP DATABASE、RENAME等操作,不再支持写入。decimal
字段过大导致查询不准确的问题,需检查并适当调整字段类型,确保数据存储的高效性。 - 若索引列大小超过限制,可调整innodb_large_prefix
参数为ON或1,并考虑使用Dynamic或Compressed行格式来增大索引字段长度支持。避免表字段出现null值,尽量使用INT而非BIGINT,使用枚举或整数代替字符串类型,尽量使用TIMESTAMP而非DATETIME,单表字段数建议在20以内,用整型存IP等。
避免在WHERE子句中对字段进行NULL值判断,字符字段只建前缀索引,不用外键和UNIQUE,使用多列索引时注意顺序
将一张大表分成多张表,例如按id字段拆分为多张表,表名为tableName_id%100。注意这需要修改源程序代码
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。