gpt4 book ai didi

mysql - 在 MySQL 中使用 ALTER TABLE 建立索引需要多长时间?

转载 作者:可可西里 更新时间:2023-11-01 06:37:05 25 4
gpt4 key购买 nike

这可能有点像询问字符串的长度,但统计数据是:

  • Intel 双核 4GB 内存
  • 表有 800 万行,约 20 列,主要是带有 auto_increment primary id 的 varchars
  • 查询是:ALTER TABLE my_table ADD INDEX my_index (my_column);
  • 我的列是 varchar(200)
  • 存储是MyISAM

数量级,应该是1分钟、10分钟、100分钟?

谢谢

编辑: 好的,它花费了 2 小时 37 分钟,而在基本相同的设置下,一台规范较低的机器上花费了 0 小时 33 分钟。我不知道为什么要花这么长时间。唯一的可能是产品机 HD 已满 85%,还有 100GB 可用空间。应该足够了,但我想这取决于可用空间的分配方式。

最佳答案

如果您只是添加单个索引,则大约需要 10 分钟。但是,如果内存中没有该索引文件,则需要 100 分钟或更长时间。

具有 800 万行的 200 varchar 最多需要 1.6GB,但加上所有索引开销,它大约需要 2-3GB。但如果大多数行少于 200 个字符,则需要的时间会更少。 (您可能想要选择 sum(length(my_column)) 以查看需要多少空间。)

您想编辑您的/etc/mysql/my.cnf 文件。使用这些设置;

myisam_sort_buffer_size = 100M
sort_buffer_size = 100M

祝你好运。

关于mysql - 在 MySQL 中使用 ALTER TABLE 建立索引需要多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com