加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

一个上亿条数据添加一个索引引发的问题

(2014-08-25 20:02:53)
标签:

数据库

it

b树

定长字段

数据

分类: 数据库
  • 问:

我用的是mysql,有一张非常大的表,一亿多条记录,没有索引,现在要往上加索引,已经跑了三千多秒了,状态一直停在“Repair by sorting”, 请问一亿多条记录的表加索引合理的时间是多长?这个三千多秒我个人觉得不是很正常。

 

 

  • 答:

http://s1/mw690/003szNkxgy6LwDwoomsb0&690

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

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

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

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

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

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

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

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

0

阅读 收藏 喜欢 打印举报/Report
后一篇:Redis 原理
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有