MySQL需要多长时间来构建一个包含30,000,000个长度为256的字符串的表的索引? 目前它似乎需要几个小时,我不知道我应该等多久,直到我得出结论MySql在构建索引时失败了。
答案 0 :(得分:2)
您可以在mysql控制台中运行SHOW PROCESSLIST \G
来查看其状态。几个小时前我遇到过类似的问题,但我的桌子要小得多。
这里列出了你肯定需要的thread states。经过一个小时的等待后,我意识到ALTER TABLE CREATE INDEX
处于Locked
状态,我需要重新启动mysqld并再次运行该语句。那段时间我在15分钟内完成了索引。
顺便说一句,我建议从mysql控制台运行索引创建,GUI工具可能会为进程添加一些香料。
答案 1 :(得分:0)
它可能需要数小时。这一切都取决于机器规格,负载等等,看它是否失败,检查top
之类的东西或者看看你的硬盘 - 如果它们发疯了它还在索引。
答案 2 :(得分:0)
根据您的操作系统,您可以检查磁盘活动(即读取/写入DB文件)以确定它是否失败。