当不批量插入数据时,索引是否需要重建



让我换个说法:

在使用单个INSERT语句插入数据时,下面SQL文件中的/*! */行是否存在是至关重要的?

这是现在文件的内容:

LOCK TABLES `adv_links` WRITE;
/*!40000 ALTER TABLE `adv_links` DISABLE KEYS */;
INSERT INTO `adv_links` VALUES (13,'photoreal','http://w.otoreal.tk','',14,'something','something, something',64,0,1,1,'',0,'',1277754393,1277754393,0,0,0,'85.72.100.18',0,0,0,'');
INSERT INTO `adv_links` VALUES (4,'something cirocco', 'ttp://ww.roccoh.t/','',16,'something.','',86,0,1,1,'',0,'achille',1259843781,1259843781,2714,0,0,'91.132.75.249',0,0,0,'');
INSERT INTO `adv_links` VALUES (5,'somethingasco','htp://w.vsco.b/ge/gtpage.asp?i=0','',16,'somethingsco','sco',113,0,1,1,'',0,'achille',1259843935,1259843935,2714,0,0,'91.132.75.249',0,0,0,'');
INSERT INTO `adv_links` VALUES (6,'something','http://w.ja.b/Default.aspx','',16,'somethingaga','',62,0,1,1,'',0,'achille',1259848860,1259848860,2714,0,0,'91.132.75.249',0,0,0,'');
INSERT INTO `adv_links` VALUES (7,'something','htp://w.arkorrier.com.tr/English/AC_urun.asp?ID=ACU36#','',16,'','',90,0,1,1,'',0,'achille',1259848962,1259848962,2714,0,0,'91.132.75.249',0,0,0,'');
-- omitted
/*!40000 ALTER TABLE `adv_links` ENABLE KEYS */;
UNLOCK TABLES;

我问这个,因为当到达/*!40000 ALTER TABLE adv_link ENABLE KEYS */;行,MySQL去修复索引排序,它找不到足够的空间,因为数据集大到足以阻塞在tmpdir,而排序。

如果您不禁用和重新启用您的密钥,密钥将随着每个INSERT语句动态更新(就像它们通常做的那样)。

不需要写入tmpdir,但速度较慢。

如果您不能增加MySQL使用的临时空间,您可以删除这些行,尽管这会减慢您的导入速度。

相关内容

  • 没有找到相关文章

最新更新