使用LOAD DATA创建数百万行的MySQL问题

问题描述 投票:0回答:1

我正在建立一个php / mysql网站,其中涉及一个具有超过300万行的表。我正在使用LOAD DATA LOCAL INFILE导入1.2gb .csv文件,该文件在大多数情况下都有效,但是我遇到了一些怪异的问题,想知道以前是否有人遇到过这些问题以及是否有任何需要解决的问题做不同的事情。

[首先,当我加载具有3628446行的.csv文件时(使用LOAD DATA LOCAL INFILE)。它没有问题,但是SELECT COUNT(*)告诉我只有3606792,即21654行太少了。但是,当我删除PhpMyAdmin中的所有行时,它报告3628446行已删除-正确的行数!

[第二个异常,它在表中创建了不应该存在的行-第一列包含字符串“ Row Count:”,第二列包含“ 3628445”-几乎是正确的行数!其余所有行均为NULL。 (这是一个不寻常的表,没有外键,并且所有列都接受NULL)。

我对此有什么了解吗,还有其他人遇到类似的问题吗?

mysql
1个回答
0
投票

第二个异常是因为您使用了count(*),这就是为什么它返回具有行数的行可以使用SELECT count(*) as NumberOfRows进行验证,并在第一列中显示NumberOfRows,以返回正确的行数,正确的语法为SELECT count(id) as NumberOfRows from Table_Name,它将返回单行且名称为NumberOfRows的单列,并检查是否已修复第一个异常。

© www.soinside.com 2019 - 2024. All rights reserved.