Dan*_*ley 12 mysql database database-administration indexing
如果您禁用 mysql INNODB 表上的键(暂停索引),该设置持续多长时间?
对于像这样的查询:
ALTER TABLE users DISABLE KEYS;
Run Code Online (Sandbox Code Playgroud)
是否在脚本结束时重新启用密钥? 或者它们会持续到您明确重新打开索引?
ALTER TABLE ... DISABLE KEYS 和 ALTER TABLE ... ENABLE KEYS不适用于 InnoDB。
我进行了一些额外的挖掘,并从 InnoDB 的母公司 InnoBase Oy(在 Oracle Borg 中成为 9 个中的 7 个之前)发现情况确实如此。
此链接建议同时执行 DISABLE KEYS 和禁用外键。虽然我认为两者都是不必要的,但这显然对某人有用。
更新 2011-07-18 12:35 EDT
这是一个很好的问题,因为它暴露了 MySQL 中遗留下来的一个弊端。mysqldump 程序在创建和加载每个表时盲目地删除 DISABLE KEYS 和 ENABLE KEYS,而不考虑存储引擎。由于 DISABLE KEYS 和 ENABLE KEYS 在 InnoDB 表上不起作用(在最好的情况下没有影响),因为它对 MyISAM 正常工作,因此 MySQL 社区应该更好地记录这个未知的事实。哦,是的,MySQL 位于被称为 Oracle 的银河帝国的中间。我不会对即将到来的文档更改屏住呼吸。
| 归档时间: |
|
| 查看次数: |
7329 次 |
| 最近记录: |