CodeIgniter $ db查询优化

时间:2013-05-10 08:59:40

标签: php mysql codeigniter

我在使用以下方法生成的查询时遇到问题:

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();
}

它正在杀死我的数据库。

有关如何改变它并使其更快的任何建议吗?

0 个答案:

没有答案