php语句:MySQL指定分区表跨分区根据时间条件快速查询记录的封装函数

简介: php语句:MySQL指定分区表跨分区根据时间条件快速查询记录的封装函数

项目需求:

传感器大数据量数据表,按照日期自动分区,现根据时间筛选条件进行跨分区查询数据。

表分区查询语句语法

mysql表分区查询记录

SELECT * FROM t PARTITION(p0, p1);

时间筛选格式

$fromTime 2021-01-07 00:32:00
$toTime 2021-01-06 15:32:00


封装函数

/*获取查询分区名称
*$pre,分区前缀;
 * $fromTime,起始时间;
 * $toTime,结束时间,默认当前时间;
 * */
function getPart($pre, $fromTime, $toTime)
{
  //防止结束时间为空;
  if ($toTime == "") {
    $toTime = date("Y-m-d");
  }
  //转为标准时间格式2021-01-06;
  $t1 = date("Y-m-d", strtotime($fromTime));
  $t2 = date("Y-m-d", strtotime($toTime));
  //判断两个日期之差;
  $diff = (strtotime($t2) - strtotime($t1)) / 86400;
  //返回拼接分区名称;
  if ($diff == "0") {
    return $pre . date('Ymd', strtotime($fromTime));
  }
  if ($diff == "1") {
    $p1 = $pre . date('Ymd', strtotime($fromTime));
    $p2 = $pre . date('Ymd', strtotime($toTime));
    return $p1 . "," . $p2;
  }
  if ($diff == "2") {
    $p1 = $pre . date('Ymd', strtotime($fromTime));
    $p2 = $pre . date('Ymd', strtotime("+1 day", strtotime($fromTime)));
    $p3 = $pre . date('Ymd', strtotime($toTime));
    return $p1 . "," . $p2 . "," . $p3;
  }
}
echo(getPart('jk_data', '2021-01-03 11:00:00', '2021-01-05 14:05:04'));
//jk_data20210103,jk_data20210104,jk_data20210105


Done!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
930 6
|
10月前
|
PHP 开发者
PHP计算过去一定时间段内日期范围函数
这个函数为开发者提供了一个快速而简单的方法来获取与当前日期相关的过去时间范围,代码简洁易懂,可复用性高。
250 15
|
10月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
517 0
PHP和Mysql前后端交互效果实现
|
关系型数据库 MySQL 索引
mysql中的索引和分区
在MySQL中,索引和分区是提高查询效率的关键技术。通过创建合适的索引,可以显著提升数据检索速度。而分区可以作为作为进一步提高查询效率的方式,在较大数据量时通常可以使用这两个结合的方式优化查询速度,所以这边将这两个进行整理,巩固个人知识,同时也希望帮助到有需要的朋友。
302 2
|
PHP 开发者 索引
探究PHP中常见数组操作函数
在编码实践中,合理利用这些数组操作函数可以简化编程工作,提升代码的效率和可读性。为达到最佳实践,开发者应该通过阅读官方文档来深入理解每个函数的工作原理以及如何在不同的场景下运用它们。
473 8
|
SQL 关系型数据库 MySQL
MySQL 常用函数
我们这次全面梳理 MySQL 中的常用函数,涵盖 聚合函数、字符串函数、日期时间函数、数学函数 和 控制流函数 等五大类。每类函数均配有语法说明与实用示例,帮助读者提升数据处理能力,如统计分析、文本处理、日期计算、条件判断等。文章结尾提供了丰富的实战练习,帮助读者巩固和应用函数技巧,是进阶 SQL 编程与数据分析的实用工具手册。
1007 2
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
663 17
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
532 18
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
559 25
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
【YashanDB知识库】MySQL field 函数的改写方法

推荐镜像

更多