我有几个MyISAM表,它们有数十亿行和8个相当复杂的索引。
当我导入数据时,每天一次,我禁用密钥,从文件导入,然后启用密钥。这相当快。
我刚刚编写了一个脚本来删除某些记录,大约占1%,每周一次。我在没有禁用密钥的情况下运行它,因为我认为它需要索引来查找我想要删除的记录。
我的问题是,在过去45分钟内,preparing
被DELETE
卡住了ALTER TABLE... DISABLE KEYS
。我认为它甚至不能在一周内删除它们!当然,这需要很快,因为我每天必须插入更多行。
所以我的问题是:DELETE
在这种情况下{{1}}会更有效吗?找到要删除的记录需要更长的时间,但是应该更快地删除它们? (我不知道。)
我会亲自测试,但这些表格不是沙盒,我可以轻松地测试不同的想法。