热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

比较年份,用substr截取前4位快,还是date('Y')快?

1问题描述:根据始末日期查询数据,由于数据库数据量大,用betweenand很慢,就添加了year,month,day字段,在比较年月日的时候有substr和date两种方法,两种都尝试过每次

1问题描述:根据始末日期查询数据,由于数据库数据量大,用between and很慢,就添加了year,month,day字段,在比较年月日的时候有substr和date两种方法,两种都尝试过每次加载时间都在变化,也没找到相关的技术文章。理论上是两种速度都差不多,还是有相对快的方法?感谢每一个答题者。
2.相关代码片段:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//substr

if(substr($startTime,0,4) == substr($endTime,0,4)){

    $str .= " L.year = ".substr($startTime,0,4);

    if(substr($startTime,4,2) == substr($endTime,4,2)){

        $str .= " and L.mOnth= ".substr($startTime,4,2);

        if(date('Ynd',strtotime($startTime)) == date('Ynd',strtotime($endTime))){

            $str .= " and day = ".date('d',strtotime($startTime));

        }else{

            $str .= " and log_date between '$startTime' and '$endTime' ";

        }

    }else{

        $str .= " and log_date between '$startTime' and '$endTime' ";

    }

}else{

    $str .= " L.log_date between $startTime and $endTime";

}



//date



 if(date('Y',strtotime($startTime)) == date('Y',strtotime($endTime))){

        $str = " where year = ".date('Y',strtotime($startTime));

        if(date('Yn',strtotime($startTime)) == date('Yn',strtotime($endTime))){

            $str .= " and mOnth= ".date('n',strtotime($startTime));

            if(date('Ynd',strtotime($startTime)) == date('Ynd',strtotime($endTime))){

                $str .= " and day = ".date('d',strtotime($startTime));

            }else{

                $str .= " and log_date between '$startTime' and '$endTime' ";

            }

        }else{

            $str .= " and log_date between '$startTime' and '$endTime' ";

        }

    }else{

        $str = " where log_date between '$startTime' and '$endTime' ";

    }



   



推荐阅读
author-avatar
伟经理_469
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有