快速更新表和删除列的方法

时间:2015-03-04 14:04:09

标签: mysql sql sql-update mysql-workbench

我有一个相当简单的程序在mySQL中运行。我有一个名为“temp”的列的表,它是一个varchar,我想格式化它并将其放在名为“timestamp”的列中,这显然是一个时间戳。

“temp”在.csv文件中的格式不正确,因此我必须进行一些计算才能使其成为时间戳格式。我是这样做的:

update tbl set timestamp=(concat(left(temp,4), '-', substr(temp,5,2), '-', substr(temp,7,2), right(temp,13)));

如果有办法将它直接加载到表中,因为我使用“LOAD DATA LOCAL INFILE”也会起作用 - 任何更快的实现都会很棒!

另一个更新如下:非常慢:

update tbl set thour=hour(timestamp);

第三个性能阻止程序是这个只删除列的语句 - 想知道为什么需要这么长时间。

alter table tbl drop column temp;

我可以使用这些语句来优化性能,因为这是阻止我运行大型查询的愚蠢行为。

0 个答案:

没有答案