我有一个大约15Gb的MyIsam表.
我删除了大约一半的行,删除查询大约需要10个小时.
现在我害怕开始优化表,因为我不知道要花多长时间.
如果您有这种大桌子的经验,请与我分享.

PS删除过程后,查询“select * from table limit 0,30”需要数年时间.
优化表会有帮助吗?

需要10个多小时吗?

如果我打断“优化表”查询,会发生什么?

最佳答案
优化表将有助于减小大小(索引将重新计算等)
如果删除了一半的行,则应优先选择表格.在我的公司,我们有大约2-3 GB的表. Optmize并不像删除那么多.

如果您希望查询更快,请优化您的表格.

从大表中删除许多行的另一个提示:
您可以不使用任何删除命令来执行此操作.
选择不要删除的行到与原始表具有相同结构的空表中:

INSERT INTO t_copy SELECT * FROM t WHERE … ;

使用RENAME TABLE以原子方式移动原始表并将副本重命名为原始名称:

RENAME TABLE t TO t_old,t_copy TO t;

删除原始表:

DROP TABLE t_old;

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。