mysql> explain SELECT count(*) FROM profile, profile_address, match, account where 1 and (profile.usr_id=profile_address.usr_id) and (profile.usr_id=match.usr_id) and (profile.usr_id=account.usr_id) and account.engine='2' and (profile.usr_id<>'12356') and (profile.gender='1') and profile.height<='230' and (DATE_SUB(CURDATE(),INTERVAL '59' year)<=profile.birthday) limit 1;
+----+-------------+-------------------------+--------+----------------------------------+----------+---------+------------------------------------+-------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------------------+--------+----------------------------------+----------+---------+------------------------------------+-------+--------------------------+
| 1 | SIMPLE | profile | ref | PRIMARY,height,birthday,gender_2 | gender_2 | 8 | const | 54943 | Using where |
| 1 | SIMPLE | account | eq_ref | PRIMARY,engine,engine2 | PRIMARY | 3 | datingdb_cn.profile.usr_id | 1 | Using where |
| 1 | SIMPLE | profile_address | eq_ref | PRIMARY | PRIMARY | 8 | datingdb_cn.profile.usr_id | 1 | Using where; Using index |
| 1 | SIMPLE | match | eq_ref | PRIMARY | PRIMARY | 8 | datingdb_cn.profile.usr_id | 1 | Using where; Using index |
+----+-------------+-------------------------+--------+----------------------------------+----------+---------+------------------------------------+-------+--------------------------+
4 rows in set
[本帖最后由 cares 于 2009-10-14 14:33 编辑]