我有以下代码
$Model_Shifts = new Model_Shifts();
$shifts = $Model_Shifts->getShiftIDs($condition->schedule_id);
$Model_Tasks = new Model_Tasks();
$tasks = $Model_Tasks->getTasksByShiftIDsPositionID($shifts, $condition->position_id, $time);
return count($tasks);
我Model_Shifts->getShiftIDs()
的是以下
public function getShiftIDs($schedule_id)
{
$row = $this->fetchAll(
$this->select()
->from($this->_name, 'id' )
->where('schedule_id = ?', $schedule_id)
);
return $row->toArray();
}
我$Model_Tasks->getTasksByShiftIDsPositionID
的是以下
public function getTasksByShiftIDsPositionID( $shift_ids, $position_id, $time)
{
return $this->fetchAll($this->select()
->where('shift_id IN (?)', $shift_ids)
->where('position_id = ?', $position_id)
->where('time_start <= ?', $time)
->where('time_end > ?', $time)
);
}
这运行速度非常慢!加载大约需要 5 秒。我的数据库一点也不大。我正在运行什么操作导致速度如此缓慢?
我知道正是这段代码导致服务器运行缓慢。我将代码注释掉,然后代码在 10 毫秒内运行。
编辑: - time_start 和 time_end 在我的数据库中是(int 4)。- 我使用微时间来计算每个函数需要多长时间。粗略地说,这两个函数中的每一个都需要一半的时间(即 2.5 秒)。