更快的大表更新查询

时间:2017-04-29 15:09:54

标签: php mysql mysqli php-7

我有一个非常大的数据库,它是使用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条目。

有更快的方法吗?

0 个答案:

没有答案