mysql什么时候应该重建数据库索引?
mysql什么时候应该重建数据库索引?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
4条回答
默认
最新
无需“重建”索引。它们始终保持最新状态。也许他指的是重建 table 。根据您的使用模式和架构,您可以在 InnoDB 中获得碎片页面,我认为在 MyISAM 中也是如此。重建表可以通过消除磁盘上的数据碎片来提高性能。我不经常使用 MyISAM 表,但我认为建议使用某些使用模式运行“OPTIMIZE TABLE”。请参阅 OPTIMIZE TABLE 上的 MySQL 文档了解有关 MyISAM 和 InnoDB 的一些有用信息。
我对 MyISAM 的复杂性不太熟悉,但对于 InnoDB,统计数据确实会过时。数据库保留有关给定索引的数据分布方式的估计统计信息,并且这些统计信息可能会过时,但是 MySQL/InnoDB 具有一些内置功能来尝试使统计信息保持最新。您通常不必担心。
因此,如果您使用 InnoDB,答案是否定的,您通常不需要主动做任何事情来保持索引的良好运行。我不太确定 MyISAM,我认为需要定期优化这些表更为常见。
评论
有用 4
这个场景确实少,连mysql官方都没有类似alter index rebulid 的语句。个人认为如果索引文件物理损坏了,可以删掉重建即可。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


