MySQL MyISAM:我应该在进行巨型删除时禁用密钥吗?

时间:2013-05-07 09:24:25

标签: mysql sql myisam

我有几个MyISAM表,它们有数十亿行和8个相当复杂的索引。

当我导入数据时,每天一次,我禁用密钥,从文件导入,然后启用密钥。这相当快。

我刚刚编写了一个脚本来删除某些记录,大约占1%,每周一次。我在没有禁用密钥的情况下运行它,因为我认为它需要索引来查找我想要删除的记录。

我的问题是,在过去45分钟内,preparingDELETE卡住了ALTER TABLE... DISABLE KEYS。我认为它甚至不能在一周内删除它们!当然,这需要很快,因为我每天必须插入更多行。

所以我的问题是:DELETE在这种情况下{{1}}会更有效吗?找到要删除的记录需要更长的时间,但是应该更快地删除它们? (我不知道。)

我会亲自测试,但这些表格不是沙盒,我可以轻松地测试不同的想法。

0 个答案:

没有答案