SELECT COUNT(*) FROM backlinkurl LEFT JOIN urlinformation ON (backlinkurl.urlrank=urlinformation.urlid AND backlinkurl.keywordid=urlinformation.keywordid)
里面的表backlinkurl 和 urlinformation 的都是超过 50000条的,联合起来查询,很慢,要怎么优化才比较快?

解决方案 »

  1.   

    语句本身没什么可优化的了。关键看你的索引是否创建了。explain SELECT COUNT(*) FROM backlinkurl LEFT JOIN urlinformation ON (backlinkurl.urlrank=urlinformation.urlid AND backlinkurl.keywordid=urlinformation.keywordid);show index from backlinkurl;
    show index from urlinformation;贴出来看一下。
      

  2.   

    index of backlinkurl is id( primary)
    index of urlinformation is also id( primary)
      

  3.   

    再把urlrank urlid keywordid keywordid 设为index,效果好多了
      

  4.   

    请如下直接贴你的结果!mysql> show index from table1;
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    | Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    | table1 |          0 | PRIMARY  |            1 | id          | A         |      3 |     NULL | NULL   |      | BTREE      |         |
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    1 row in set (0.14 sec)mysql>
      

  5.   

    大大 你的
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    | Table  | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    | table1 |          0 | PRIMARY  |            1 | id          | A         |      3 |     NULL | NULL   |      | BTREE      |         |
    +--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
    1 row in set (0.14 sec)
    这个是从DOS里面黏贴过来的还是哪个工具上来的?
      

  6.   


    一般我们的索引键在联接字段 分组字段 排序字段和 where条件筛选字段
      

  7.   

    你这个到底是统计什么啊,如果要是统计两表相同的数据,用inner join
      

  8.   

    LZ的意思是两张表,除了PK,就没有index了???!!!