我对数据库游戏很陌生,所以请原谅我的无知。
我将数百万行加载到一个结构简单的MySQL数据库表中
SQLStr = "LOAD DATA LOCAL INFILE 'f:/Smallscale/02 MMToTxt/flat.txt'
INTO TABLE `GMLObjects` FIELDS TERMINATED BY ','
LINES STARTING BY 'XXX';"
目前,该表已设置为对一个字段没有重复。
但是,我想知道是否可以更快地删除无重复规则并稍后通过使用ALTER TABLE
或SELECT DISTINCT
或某些此类查询来处理重复问题。
你有什么想法?
P.S数据库引擎是InnoDB
答案 0 :(得分:0)
为什么首先在数据库中加载重复项?
尽早避免使用它们。这对性能更好,您不必编写复杂的查询。
答案 1 :(得分:0)
您不能将具有重复项的表“更改”到没有的表中。
MySQL无法知道它应删除哪一行。这将意味着以后删除它们会带来很多工作和麻烦,并且会产生删除的条目而没有任何好处。
所以尽早避免重复。