可是我用explain看, 方法1比方法2好呀. 真是郁闷 方法1: EXPLAIN select * from tab1 where rank<100 limit 0,100 table type possible_keys key key_len ref rows Extra tab1 range rank rank 4 NULL 36 Using where 方法2: EXPLAIN select tab.* from tab1,top100 where top100.tab_id=tab1.id ORDER BY top100.rank table type possible_keys key key_len ref rows Extra top100 ALL tab_id NULL NULL NULL 63 Using filesort tab1 eq_ref id id 4 top100.tab_id 1
方法1: EXPLAIN select * from tab1 where rank<100 limit 0,100
table type possible_keys key key_len ref rows Extra
tab1 range rank rank 4 NULL 36 Using where 方法2: EXPLAIN select tab.* from tab1,top100 where top100.tab_id=tab1.id ORDER BY top100.rank
table type possible_keys key key_len ref rows Extra
top100 ALL tab_id NULL NULL NULL 63 Using filesort
tab1 eq_ref id id 4 top100.tab_id 1
可是你的测试环境并不是这样啊,所以你的explain可能不大准确。不过我想问问xuzuning(唠叨),那方案二连接两个表所花的时间又怎么样计算呢?
应该也是不小的花费吧。gz高手发言。