Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 修改子查询中的日期会降低执行速度_Mysql_Sql_Subquery - Fatal编程技术网

Mysql 修改子查询中的日期会降低执行速度

Mysql 修改子查询中的日期会降低执行速度,mysql,sql,subquery,Mysql,Sql,Subquery,你好。 数据库中有房间和会议。必须从指定时间段内空闲的数据库室中进行选择。有些房间有一个特点——在会议之间需要休息。有关中断的信息包含在另一个表-points\u settins\u types\u storage中 房间在桌子上 此请求慢20秒: 挑选* 从点p0_ p0上的左连接点\设置类型\存储p1 \ id=p1 \点\ id 左连接点\设置\类型p2 \在p1上\设置\属性\类型\ id=p2 \类型id 式中,p0.parent\u id=1310 和p0。键入“1” 并且p2_u.

你好。 数据库中有房间和会议。必须从指定时间段内空闲的数据库室中进行选择。有些房间有一个特点——在会议之间需要休息。有关中断的信息包含在另一个表-points\u settins\u types\u storage中

房间在桌子上

此请求慢20秒:

挑选* 从点p0_ p0上的左连接点\设置类型\存储p1 \ id=p1 \点\ id 左连接点\设置\类型p2 \在p1上\设置\属性\类型\ id=p2 \类型id 式中,p0.parent\u id=1310 和p0。键入“1” 并且p2_u.id=1或p2_u.id为空 并且不存在从事件e3中选择*,其中e3_u.point_uid=p0_u.id和e3_u.start_在<日期添加'2019-09-09 20:00:00',间隔情况为p1_u.value不为空,则p1_u.value ELSE 0结束分钟,e3_u.END_u在>日期添加'2019-09-09 18:00:00',间隔情况为p1_u.value不为空,则p1_u.value ELSE 0结束分钟 此请求很快:

挑选* 从点p0_ p0上的左连接点\设置类型\存储p1 \ id=p1 \点\ id 左连接点\设置\类型p2 \在p1上\设置\属性\类型\ id=p2 \类型id 式中,p0.parent\u id=1310 和p0。键入“1” 并且p2_u.id=1或p2_u.id为空 并且不存在从事件e3中选择e3_u.id,其中e3_u.point_uid=p0_u.id,e3_u.start_u在<日期添加'2019-09-09 20:00:00',间隔10分钟,e3_u.end_u在>日期'2019-09-09 18:00:00',间隔10分钟 但他肯定不适合我

请帮忙
请原谅我的英语不好

上一个条件修改后你的表现如何:

AND p0_.id NOT IN (SELECT e3_.point_id FROM events e3_ WHERE e3_.start_at < DATE_ADD('2019-09-09 20:00:00', INTERVAL (CASE WHEN p1_.value IS NOT NULL THEN p1_.value ELSE 0 END) MINUTE) AND e3_.end_at > DATE_ADD('2019-09-09 18:00:00', INTERVAL (CASE WHEN p1_.value IS NOT NULL THEN p1_.value ELSE 0 END) MINUTE))

不幸的是,这个选项也很慢,我想我的问题是在子查询中使用p1_u2;.value。可以尝试加入子查询中