我有一个名为 mainevents 的表和一个名为 subevents 的表。对于每个主事件,我想要 3 个子事件,它们匹配 subname='$sub_name' 和 eventid。当有很多主要事件时,脚本太慢了。拖慢,10秒加载。当我禁用子事件循环时,脚本会立即加载。我认为可能有一种更短/更快/更简单的方式来编写以下内容。也许全部在一个查询中。我不完全确定。
$a=sqlsrv_query($conn, "SELECT
eventid,status,name, CONVERT(varchar(100),date,107) AS dt
FROM dbo.mainevents WHERE
( date >= '$start_date' AND date <= '$stop_date' ) AND disabled='0'
ORDER BY category asc");
while($e=sqlsrv_fetch_array($a)){
$b=sqlsrv_query($conn, "SELECT
subid, subname FROM dbo.subevents WHERE
eventid='$e[eventid]' AND subname='$sub_name' ORDER BY subname");
while($s=sqlsrv_fetch_array($b)){
//do stuff
}
}