我有一列“更新时间”,它是一个时间戳(“2011-02-01 09:00:51”)。出于性能目的,我需要根据时间戳的小时创建索引列“updatetime_hour”。
例如,如果“更新时间”为“2011-02-01 09:00:51”,则“更新时间_小时”将为“9”。
虽然 PHP 也是一个选项,但我正在尝试在 mysql 中完成这一切。 60k+ 现有行。
想法?
最佳答案
UPDATE yourtable SET updatetime_hour=HOUR(updatetime);
不要在高峰时间运行这个,它会需要一段时间。您甚至可以以较小的批处理运行它 - 使 updatetime_hour
可以为空并继续运行它,直到出现“0 行受影响”:
UPDATE yourtable SET updatetime_hour=HOUR(updatetime)
WHERE updatetime_hour IS NULL LIMIT 1000;
关于php - mysql - 从现有时间戳创建索引小时列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866056/