gpt4 book ai didi

mysql - FROM_UNIXTIME 和性能

转载 作者:行者123 更新时间:2023-11-29 08:54:25 27 4
gpt4 key购买 nike

FROM_UNIXTIME 是否会严重影响如下查询的性能:

        (
(calltasks.task_dueDate = '".$date."') # Tasks of this date
OR
(calltasks.task_dueDate < '".$date."' AND calltasks.task_status = 'scheduled') # Tasks still available on this date
OR
(FROM_UNIXTIME(calltasks.task_executionTime, '%Y-%m-%d') = '".$date."') # Tasks finished this date
)

或者我应该没问题??

最佳答案

您最好使用 UNIX_TIMESTAMP() ,而不是将您的 UNIX 时间转换为格式化字符串,然后进行比较(就像您当前所做的那样)将 $date 变量转换为 UNIX 时间,然后比较整数(检查差异不超过 24 小时)。整数比较总是比字符串比较快:

(calltasks.task_executionTime - UNIX_TIMESTAMP('$date')) BETWEEN 0 AND 86400

或者,您可能会发现在调用此查询的语言中,您已经在某处可以轻松获得 UNIX 时间戳值 $date:例如,PHP 将日期存储为 UNIX 时间戳.

请注意,如果您以这种方式将$date插入到查询中,您应该绝对确定无法操纵$date来包含SQL;如果有任何疑问,您应该使用准备好的声明:如果您不知道原因或它们是什么,请阅读 Bobby Tables .

关于mysql - FROM_UNIXTIME 和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10363440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com