このメソッドから取得するレコードは400以上あり、ページをロードするのにほとんど2分かかります。だから、このメソッドの読み込み時間を減らす方法を教えてください。データの読み込み時間を短縮する方法mysql、codeigniter
function teacher_attendance_selector()
{
$data['year'] = $this->input->post('year');
$data['timestamp'] =strtotime($this->input->post('timestamp'));
$query = $this->db->get_where('teacher_attendance' ,array(
'teacher_id'=>$data['teacher_id'],
'year'=>$data['year'],
));
if($query->num_rows() < 1) {
$teachers = $this->db->get_where('teacher' , array(
))->result_array();
foreach($teachers as $row) {
$attn_data['year'] = $data['year'];
$attn_data['timestamp'] = $data['timestamp'];
$attn_data['teacher_id'] = $row['teacher_id'];
$this->db->insert('teacher_attendance' , $attn_data);
}
}
redirect(base_url().'index.php?admin/manage_teacher_attendance_view/'.$data['timestamp'],'refresh');
}
避けクエリはたくさんのに役立ちます。 –
[このphp/mysqlコードをスピードアップする方法]の重複の可能性があります(http://stackoverflow.com/questions/36034815/how-to-speed-up-this-php-mysql-code) – Walf
クエリループなしteacher_attendanceテーブルに挿入してください。これは現時点で起こっている必要があります – sud