基本上一切都在标题中。我有一个基于更新和连接表的查询,这需要很长时间。我可以把它切成片,但我更愿意运行一次。这需要很长时间,比“读取超时”限制要长得多,所以我在 PhpMyAdmin 中收到一条错误消息。另一方面,我在服务器上看到事务(PhpMyAdmin 中的数据库进程)仍在运行。所以我的问题来了:czan 我信任这个交易吗?等待事务终止是值得的,还是中断事务并找到分解任务的方法是明智的?非常感谢您的回答。
我附上感兴趣的人的查询:
insert into `rt_air_rail_5_23`
( `dNomOri`, `dNomDes`,`dNomConurbOri`, `dNomConurbDes`,
`dHdep`, `dHarr`,
`dTemps`, `dTveh`, `dTmap`,
`dTatt`, `dTatt1`, `dPole`, `dTexte`, `dType`,
`tpsDispo`, `aType`,
`aHdep`, `aHarr`,
`aTemps`, `aTveh`, `aTmap`,
`aTatt`, `atatt1`, `aPole`, `aTexte`, `dId`, `aId`,
`dori`, `ddes`, `aori`, `ades`, `dconurbOri`, `dconurbDes`,`dmodeOri`, `dmodeDes`, `anomOri`, `anomDes`, orix, oriy, desx, desy)
SELECT
d6.NomOri, d6.NomDes, d6.nomConurbOri, d6.nomConurbDes,
SEC_TO_TIME((d6.`heureo`)*60) dHdep, SEC_TO_TIME((d6.heured)*60) dHarr, SEC_TO_TIME((d6.temps)*60) dTemps, SEC_TO_TIME((d6.tveh)*60) dTveh, d6.tmap dTmap, d6.tatt dTatt, d6.tatt1 dTatt1, d6.pole dPole, d6.`texte` dTexte, d6.Type dType,
SEC_TO_TIME((a21.`heureo`-d6.`heured`)*60) tpsDispo, a21.Type aType,
SEC_TO_TIME((a21.`heureo`)*60) aHdep, SEC_TO_TIME((a21.heured)*60) aHarr, SEC_TO_TIME((a21.temps)*60) aTemps, SEC_TO_TIME((a21.tveh)*60) aTveh, a21.tmap aTmap, a21.tatt aTatt, a21.tatt1 atatt1, a21.pole aPole, a21.`texte` aTexte, d6.id dId, a21.id aId,
d6.ori, d6.des, a21.ori, a21.des, d6.conurbOri, d6.conurbDes, d6.modeOri, d6.modeDes,a21.NomOri, a21.NomDes, d6.dx, d6.dy, d6.ax, d6.ay
FROM `rt_air_rail_d_5h45` d6
join `rt_air_rail_a_22h15` a21
on
(
(
(d6.type=101 and a21.type=101) and #cas fer fer
(d6.`conurbOri`=a21.`conurbDes` and d6.`conurbDes`=a21.`conurbOri`)
)
or (
(d6.type=201 and a21.type=102) and #cas air fer
(d6.`Ori`=a21.`Des` and d6.`conurbDes`=a21.`conurbOri`)
)
or (
(d6.type=102 and a21.type=201) and #cas fer air
(d6.`conurbOri`=a21.`conurbDes` and d6.`Des`=a21.`Ori`)
)
or (
(d6.type=202 and a21.type=202) and #cas air air
(d6.`Ori`=a21.`Des` and d6.`Des`=a21.`Ori`)
)
)
where d6.`conurbOri` <> d6.`conurbDes` ;