我有一个非常大的数据库,它是使用csv'LOAD DATA INFILE'方法导入的。 有些细胞虽然需要操作,但遗憾的是我在导入过程中无法做到这一点。之后我必须这样做,因为PHP更容易使用,更不用说还有其他表格单元格需要更改,这是不可能用mysql命令。 这些类型的操作的一个例子是“电话”单元。我必须打破电话号码,然后分别更新同一行的2个不同的单元格。 例如:
$myQ = my_db_query("SELECT companyId, Telephone FROM companies WHERE 1");
while ($row = my_db_fetch_array($myQ))
{
if($row["Telephone"] != ""){
$Telefon_area = "";
$Telefon_num = "";
$pieces = explode(" ", $row["Telephone"]);
$Telefon_area = trim( $pieces[0] );
$Telefon_num = trim( $pieces[1] );
my_db_query("UPDATE companies SET `Telefon_area` = '$Telefon_area', `Telefon_num` = '$Telefon_num' WHERE `companyId` = ".$row["companyId"]);
}
}
我面对这种方法的问题是(虽然我已经将电话号码列编入索引),但它的速度很慢,因为我正在更新1.5mil条目。
有更快的方法吗?