我对以下方法生成的查询有疑问:
function most_visited($hrs=1,$cat_id=NULL,$limit=20){
$date = strtotime('- '.$hrs.' hours');
$date = date('Y-m-d H:i:s',$date);
$this->db->select('count(content_id) as otvaranja, title, id, cat_id, date_start,published,komentari,pocount,postatus ');
$this->db->join('news','news.id=stats.content_id','inner');
$this->db->limit($limit);
if($cat_id !== NULL){
if(is_array($cat_id)){
$this->db->where_in('cat_id',$cat_id);
} else {
$this->db->where('cat_id',$cat_id);
}
}
$this->db->where('date >=',$date);
$this->db->where('content_type','news');
$this->db->having('otvaranja>=',1,FALSE);
$this->db->group_by('content_id');
$this->db->order_by('otvaranja','desc');
return $this->db->get('stats')->result();
}
它正在杀死我的数据库。
关于如何改变它并使其更快的任何建议?