Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
join-mysql的性能和局限性_Mysql_Sql - Fatal编程技术网

join-mysql的性能和局限性

join-mysql的性能和局限性,mysql,sql,Mysql,Sql,我的问题是: $this->db->select('users.id as user_id'); $this->db->select('users.username'); $this->db->select('users.family'); $this->db->select('users.name'); $this->db->select('users.phone'); $this->

我的问题是:

  $this->db->select('users.id as user_id');
    $this->db->select('users.username');
    $this->db->select('users.family');
    $this->db->select('users.name');
    $this->db->select('users.phone');
    $this->db->select('traction_details.title');
    $this->db->select('traction_details.tr_id');
    $this->db->select('tractions.buy_id');
    $this->db->select('tractions.coupon_code');
    $this->db->select('tractions.coupon_property_id');
    $this->db->select('tractions.expired');
    $this->db->select('tractions.date');

    $this->db->from('tractions');


    $this->db->join('traction_details' , 'traction_details.tr_id = tractions.id');
    $this->db->join('users' , 'tractions.user_id = users.id');
    $this->db->join('coupon_cats' , 'tractions.coupon_parent = coupon_cats.coupon_id');
    $this->db->join('coupons' , 'coupons.id = tractions.coupon_parent');
    $this->db->join('tractions_delivery' , 'tractions_delivery.tr_id = tractions.id');
    $this->db->where('coupon_cats.cat_id =' , '13');
    $this->db->where('tractions.succ =' , '1');

    $this->db->group_by('tractions.buy_id');
    $this->db->order_by('traction_details.tr_id', 'desc');
    $this->db->limit( $limit , $offset );
我的查询速度非常慢,需要15-20秒

我的
traction
表有188460条记录。如果
id
超过170000,是否可以加入此表?因为我不想加入。
我认为这种限制提高了它的速度。是吗?

只需添加到where>where tractions.id>170000就可以了,但这并不能加快我的查询速度。您应该使用前面的关键字
EXPLAIN
来执行查询。这将或多或少地为您提供查询中包含的所有表以及查询使用的索引类型的详细说明。请在这里添加解释的输出,否则我们只能猜测什么在减速。我还想提醒Martin,您还应该发布所有受影响表的create table语句,以便我们可以看到现有字段和索引。请发布实际查询,而不是任何基于美元的不可读的废话