SELECT count(*) FROM 表1,表2 WHERE 表1.type='text' AND 表1.tid=表2.id AND 表2.user='b';
我在表1里建立了索引tid和type,但这句话的效率依然极烂,大约要执行2秒以上。
请问这种查询条件下,我该如何建立索引(或者改写语句)才能让查询效率高起来
Explain的结果如下
1 SIMPLE 表1 ALL tid,type NULL NULL NULL 114299 Using where
1 SIMPLE 表2 eq_ref PRIMARY PRIMARY 4 user.表1.tid 1 Using where
explain //你的SQL语句
就可以分析性能。上面的太过于笼统了。因为系统都不知道。。。
和join没太大的关系吧。反正基本都是笛卡尔积。left.right.都不会对性能有多大影响。