代码之家  ›  专栏  ›  技术社区  ›  Christian

MySQL建立索引需要多少时间

  •  3
  • Christian  · 技术社区  · 14 年前

    MySQL需要多少时间来构建一个包含3000万个长度为256的字符串的表索引? 目前,这似乎需要几个小时,我不知道该等多久,直到我得出这样的结论:MySQL无法构建索引。

    3 回复  |  直到 13 年前
        1
  •  2
  •   newtover    14 年前

    你可以跑 SHOW PROCESSLIST \G 在MySQL控制台中观察其状态。几个小时前我也遇到过类似的问题,但我的桌子小得多。

    这里有一个列表 thread states 你肯定需要。等了一个小时我才意识到 ALTER TABLE CREATE INDEX 是在 Locked 状态,我需要重新启动mysqld并再次运行该语句。那次我用了15分钟就建立了索引。

    顺便说一下,我建议从MySQL控制台运行索引创建,GUI工具可能会在这个过程中添加一些调味料。

        2
  •  0
  •   chris    14 年前

    这可能需要几个小时。这完全取决于机器规格、负载等。要查看是否失败,请检查 top 或者看你的硬盘-如果他们疯了,它仍然在索引。

        3
  •  0
  •   BarsMonster    14 年前

    根据您的操作系统,您可以检查磁盘活动(即它是否读取/写入DB文件)以确定它是否失败。