У меня есть 3 пользователя MySQL Tables, плата и пин-код.пользовательские таблицы имеют около 66 столбцов.Таблица булавок имеет 89 столбцов, а таблица А - 12 столбцов.Таблица пользователей насчитывает почти 35000 пользователей, пин имеет 0,3 миллиона записей, а доски имеют 7 тысяч плат.Пользователь может иметь несколько плат, а доска может содержать несколько контактов.Мне нужна последняя измененная часть каждого пользователя, чтобы я мог отправить им письмо по электронной почте, если обновление не происходит в течение очень длительного периода времени.
Я попробовал следующий код на мгновение в codeigniter.
$this->db->select("t1.id as pin_id, t1.id, t1.user_id, `t1.title`,t1.image, t1.description, t1.profession_tag, t1.industry_tag, t1.collaborators, `t2.title` as board_title, t3.email, t3.username, t3.firstname");
$this->db->from("pin as t1");
$this->db->join('board as t2', 't1.board_id = t2.id', 'left');
$this->db->join('user as t3', 't1.user_id = t3.id', 'left');
$this->db->where('t3.status', 1);
$this->db->where('t3.hidden_profile', 1);
$this->db->where('t1.status', 1);
$this->db->group_by('t1.user_id');
$this->db->limit($limit, $start);
$query = $this->db->get();
return $query->result_array();
Но в случаях, когда у пользователя более 1000 пинов, это отнимает так много времени.Пожалуйста, предложите, какой отдых я могу сделать, чтобы улучшить его и получить результат быстрее.Я также не получаю последний измененный результат по запросу.Я не знаю, как это будет работать с предложением Have.