select t1.*,t2.*  
from 
(select * from t1 where flag=0 
) t1
inner join t2 on t1.fid=t2.fid 这个写法呢?

解决方案 »

  1.   

    1, 避免出现SELECT  *  FROM  table    语句,要明确查出的字段。 有时候少一个不需要字段能省三倍时间
    2,多表关联查询时,写法必须遵循以下原则,这样做有利于建立索引,提高查询效率。格式如下select  sum(table1.je)  from  table1  table1,    table2  table2,    table3    table3  where  (table1的等值条件(=))  and  (table1的非等值条件)  and  (table2与table1的关联条件)  and  (table2的等值条件)  and  (table2的非等值条件)  and  (table3与table2的关联条件)  and  (table3的等值条件)  and  (table3的非等值条件)。  经常用来做联接的字段上面加索引
    经常用来做条件的字段上面加索引
    坚决避免在条件中使用否定意义的计算符
      

  2.   

    顶一下1, 避免出现SELECT  *  FROM  table    语句,要明确查出的字段。 有时候少一个不需要字段能省三倍时间 
    2,多表关联查询时,写法必须遵循以下原则,这样做有利于建立索引,提高查询效率。格式如下select  sum(table1.je)  from  table1  table1,    table2  table2,    table3    table3  where  (table1的等值条件(=))  and  (table1的非等值条件)  and  (table2与table1的关联条件)  and  (table2的等值条件)  and  (table2的非等值条件)  and  (table3与table2的关联条件)  and  (table3的等值条件)  and  (table3的非等值条件)。  经常用来做联接的字段上面加索引 
    经常用来做条件的字段上面加索引 
    坚决避免在条件中使用否定意义的计算符