在MySql中关闭索引与删除/替换索引?
有人告诉我,插入带有索引的表很慢。有没有办法绕过删除索引或创建/插入到tabel w/o索引,然后再重新创建索引,只需告诉mysql忽略插入上的索引,然后重新索引?简短回答: 对于在MySql中关闭索引与删除/替换索引?,mysql,indexing,Mysql,Indexing,有人告诉我,插入带有索引的表很慢。有没有办法绕过删除索引或创建/插入到tabel w/o索引,然后再重新创建索引,只需告诉mysql忽略插入上的索引,然后重新索引?简短回答: 对于选择,索引通常很有价值,而在插入过程中,索引的成本很低。不要关掉它们 长答案: 你得到的建议只适用于一些不太清楚的情况 当最初加载一个非常大的表时,有时最好在加载时没有索引(InnoDB中的主键除外),然后一次添加所有索引 一旦填充了表,转换索引(用于添加更多行)几乎是不现实的 “标志”(真/假、M/F、是/否/可能
选择
,索引通常很有价值,而在插入
过程中,索引的成本很低。不要关掉它们
长答案:
- 你得到的建议只适用于一些不太清楚的情况
- 当最初加载一个非常大的表时,有时最好在加载时没有索引(InnoDB中的主键除外),然后一次添加所有索引
- 一旦填充了表,转换索引(用于添加更多行)几乎是不现实的
- “标志”(真/假、M/F、是/否/可能)列上的索引几乎从未使用过<代码>放下它
- 如果你“索引了每一列”,那么我可以为你选择4个字母的单词。您的大多数索引将永远不会被使用
- 如果您从未构建过“复合”索引(即包含多个列的索引),那么您的索引可能没有需要的那么好
- 也就是说,拥有“几个”索引是好的