mysql 加索引需要多长时间?

我用的是mysql,有一张非常大的表,一亿多条记录,没有索引,现在要往上加索引,已经跑了三千多秒了,状态一直停在“Repairbysorting”,请问一亿多条记录的表加... 我用的是mysql,有一张非常大的表,一亿多条记录,没有索引,现在要往上加索引,已经跑了三千多秒了,状态一直停在“Repair by sorting”, 请问一亿多条记录的表加索引合理的时间是多长?这个三千多秒我个人觉得不是很正常。 展开
 我来答
紫仑天玑
2013-07-06 · 萝卜数学关注思维过程
紫仑天玑
采纳数:324 获赞数:888

向TA提问 私信TA
展开全部

32核心,30多G 内存,一千万的条目在时间上建立非聚集索引,用了 7 分钟。


一亿的话,我这估计要大于70分钟。


聚集索引时间更长。 这个需要索引排序,建立分支索引复合B树。


一般海量数据不如新建立表,建立好索引,然后逐批导入数据。


差劲点的机器,一亿数据建立索引基本就是死机或是僵尸状态。


只能慢慢的等了,一天都不行,就上边那方法。


索引跟类型关系很大,一般定长字段比变长字段简单,IO消耗小,时间节省,复合索引变长越多就越复杂,其次就是 一表多索引,这种情况 会衍生各种存储索引结构,就更费时间了。


表有多少数据页,多少文件,每页多少槽位都会影响时间。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式