加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql优化非常大的表

发布时间:2020-12-11 23:48:58 所属栏目:MySql教程 来源:网络整理
导读:我有一个大约15Gb的MyIsam表. 我删除了大约一半的行,删除查询大约需要10个小时. 现在我害怕开始优化表,因为我不知道要花多长时间. 如果您有这种大桌子的经验,请与我分享. PS删除过程后,查询“select * from table limit 0,30”需要数年时间. 优化表会有帮助

我有一个大约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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读