gpt4 book ai didi

mysql - timediff() 的性能问题

转载 作者:行者123 更新时间:2023-11-29 21:40:15 26 4
gpt4 key购买 nike

所以我在涉及 timediff 函数的查询中遇到了性能问题。

对于 session 表(PK)中的每个 id 寄存器,study_behaviour 表中都有多个寄存器(idsession 是来自 Study_behaviour 表中的 session 表的 FK)。

您能找到一种方法来提高该查询的时间性能吗?

create table eficacia_time as
select s.id,s.iduser,sum(hour(timediff(sb.dateend,sb.dateinit))+minute(timediff(sb.dateend,sb.dateinit))/60) as SesTime
from study_behaviour sb
left join session s on s.id=sb.idsession
where year(sb.dateInit)=2015 and s.iduser in (select userid as iduser from exp)
group by s.id

最佳答案

你可以尝试两件事:

  1. 如果 sb.dataInit 列不存在,则为其添加索引,并将 WHERE 语句更改为 sb.dateInit BETWEEN '2015-01- 01 00:00:00' AND '2015-12-31 23:59:59' 以便可以使用索引。
  2. 不要使用子查询,而是将 exp 表与 study_behaviour 表连接

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

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