mysql - 避免重复的最佳方法

时间:2013-05-12 09:32:43

标签: mysql performance duplicate-removal

我对数据库游戏很陌生,所以请原谅我的无知。

我将数百万行加载到一个结构简单的MySQL数据库表中

SQLStr = "LOAD DATA LOCAL INFILE 'f:/Smallscale/02 MMToTxt/flat.txt'
  INTO TABLE `GMLObjects` FIELDS TERMINATED BY ','
  LINES STARTING BY 'XXX';"

目前,该表已设置为对一个字段没有重复。

但是,我想知道是否可以更快地删除无重复规则并稍后通过使用ALTER TABLESELECT DISTINCT或某些此类查询来处理重复问题。

你有什么想法?

P.S数据库引擎是InnoDB

2 个答案:

答案 0 :(得分:0)

为什么首先在数据库中加载重复项?

尽早避免使用它们。这对性能更好,您不必编写复杂的查询。

答案 1 :(得分:0)

您不能将具有重复项的表“更改”到没有的表中。

MySQL无法知道它应删除哪一行。这将意味着以后删除它们会带来很多工作和麻烦,并且会产生删除的条目而没有任何好处。

所以尽早避免重复。