0

我有以下表架构:

CREATE TABLE `alexa` (
  `id` int(10) unsigned NOT NULL,
  `rank` int(10) unsigned NOT NULL,
  `domain` varchar(63) NOT NULL,
  `domainStatus` varchar(6) DEFAULT NULL,
  PRIMARY KEY (`rank`),
  KEY `domain` (`domain`),
  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

导入数据需要几分钟时间。对我来说,这似乎相当慢,因为我们只谈论一百万行数据。

我可以做些什么来优化这些数据的插入?(已经使用禁用键)

4

2 回答 2

0

使用LOAD DATA INFILE或等效的命令行工具mysqlimport。这可以比任何其他方法快 20 倍。

您还可以阅读MySQL 手册中的插入语句的速度。这有很多提高批量插入性能的技巧。

你没有说太多关于你当前如何插入数据(除了禁用键),所以很难推荐任何更具体的关于如何改进它的内容。例如,您使用什么编码语言?您是否使用准备好的查询?

于 2010-04-26T21:09:18.367 回答
0

如果您不使用复制,请确保关闭bin 日志:

set sql_log_bin=off;
于 2010-04-26T21:18:08.437 回答