php - mysql - 从现有时间戳创建索引小时列

标签 php sql mysql database

我有一列“更新时间”,它是一个时间戳(“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/

相关文章:

请求之间的 PHP cURL multi_exec 延迟

mysql - 一列或单独的列用于额外数据 - mysql

sql - 如何在 postgresql jsonb 搜索中使用 SIMILAR TO 子句获取不区分大小写的数据?

php - 为什么我的 PHP 没有连接到我的 MySQL 数据库?

mysql - 游戏排行榜的数据库方法

php - 尽可能容易地随机化 mysql 输出

php - history.go (-1) 在 Internet Explorer 中不工作

.net - 是否有用于 SQL 或 MySQL 等的 "object database"插件?

MySQL查询浏览器程序错误代码-1

php - mysql 根据其他列的值进行排序