最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 18:10:02
文档

MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL

MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL:bitsCN.com RT不用多说,同行一看就知道! MySQL分区有很多种,这里我只讨论按时间——按天分区! 在操作之前,你仍然有必要执行如下命令,查看你的MySQL版本是否支持partition功能: Sql代码 show variables like
推荐度:
导读MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL:bitsCN.com RT不用多说,同行一看就知道! MySQL分区有很多种,这里我只讨论按时间——按天分区! 在操作之前,你仍然有必要执行如下命令,查看你的MySQL版本是否支持partition功能: Sql代码 show variables like

bitsCN.com

RT不用多说,同行一看就知道!

MySQL分区有很多种,这里我只讨论按时间——按天分区!

在操作之前,你仍然有必要执行如下命令,查看你的MySQL版本是否支持partition功能:


Sql代码
show variables like '%partition%'
如果系统输出如下结果,那么恭喜你,MySQL支持分区!

Sql代码
variable_name value
have_partitioning yes


Sql代码
CREATE TABLE quarterly_report_status (
report_id INT NOT NULL,
report_status VARCHAR(20) NOT NULL,
report_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
PARTITION BY RANGE ( UNIX_TIMESTAMP(report_updated) ) (
PARTITION p0 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-01-01 00:00:00') ),
PARTITION p1 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-02-01 00:00:00') ),
PARTITION p2 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-03-01 00:00:00') ),
PARTITION p3 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-04-01 00:00:00') ),
PARTITION p4 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-05-01 00:00:00') ),
PARTITION p5 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-06-01 00:00:00') ),
PARTITION p6 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-07-01 00:00:00') ),
PARTITION p7 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-08-01 00:00:00') ),
PARTITION p8 VALUES LESS THAN ( UNIX_TIMESTAMP('2011-09-01 00:00:00') ),
PARTITION p9 VALUES LESS THAN (MAXVALUE)
);

官方文档说从MySQL 5.1.43开始,除了TIMESTAMP 外,其他日期类型都不接受!

偶虽然没有尝试,至于你信不信,反正我是信了!


Explain Partitions SQL测试,看看是否有效:

Sql代码
explain partitions select * FROM quarterly_report_status q where q.report_updated<'2011-02-01 00:00:00';
输出:

| id | select_type | table | partitions | type | possible_keys | key | key_len| ref | rows | Extra |
| 1 | SIMPLE | q | p0,p1 | ALL | NULL | NULL | NULL | NULL | 2 | Using where |
1 row in set (0.00 sec)

非常棒,完美!
————————————————————————————————————————————————————

【转】相关函数:from_unixtime(date)

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串

后面的 '%Y%m%d' 主要是将返回值格式化(可有可无)

例如:
mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' )
->20071120

mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' )
->2007年11月20

UNIX_TIMESTAMP() 是与之相对正好相反的时间函数

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)

  若无参数调用,则返回一个 Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数。若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以'1970-01-01 00:00:00' GMT后的秒数的形式返回。date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

例如:
mysql> SELECT UNIX_TIMESTAMP() ; (执行使得时间:2009-08-06 10:10:40)
->1249524739
mysql> SELECT UNIX_TIMESTAMP('2009-08-06') ;
->1249488000
SELECT * FROM `student` WHERE regTime > UNIX_TIMESTAMP( curdate( ) )

作者“极客先生”

bitsCN.com

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL

MySQL5.5中使用UNIX_TIMESTAMP分区_MySQL:bitsCN.com RT不用多说,同行一看就知道! MySQL分区有很多种,这里我只讨论按时间——按天分区! 在操作之前,你仍然有必要执行如下命令,查看你的MySQL版本是否支持partition功能: Sql代码 show variables like
推荐度:
标签: 时间 分区 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top