描述:索引碎片是数据库表的索引中,由于数据的增删改操作导致索引页被分割成多个不连续的部分,会增加索引扫描的时间,甚至索引失效,从而影响数据检索操作性能。碎片是数据删除后在数据文件中留下的不连续空白空间,以及新数据插入时利用这些空间造成的数据存储位置不连续。
analyze 主要用于更新表的统计信息,以优化查询性能
optimize 主要用于回收空间和整理碎片,以提高表的物理存储效率和访问性能
1.查看当前索引状态
show index from alerts;

2.analyze优化表统计信息,更新索引索引统计信息,让查询优化器更有效利用索引
analyze table alerts;

show table status like 'alerts';

3.optimize重建表和索引以消除碎片,释放(回收)未使用的空间。会锁表
optimize table alerts;
4.alter table重建索引来重新组织索引节点,使其按照顺序存储,提高查询性能 会锁表
alter table table_name engine=innodb; 重新创建表并重建所有索引
alter table alerts drop index alerts_1,add index alerts_1(actionid); 删除旧索引 新建新的特定索引
5.drop&create重建索引
drop index index_name on table_name;
create index index_name on table_name (column1);
备注:
1.MySQL官方建议不要经常(每小时或每天)进行碎片整理,一般根据实际情况,只需要每周或者每月整理一次即可。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




