这个SQL能运行,但能优化下吗?
SELECT u.email FROM members u WHERE u.username=(select w.username f
rom tableb w where w.tid='1');
我想根据在tableb表中tid=1的username 从member表中选出email.
------解决方案--------------------不能了。
如果实在想优化,可以考虑修改Index等。
------解决方案--------------------SELECT u.email FROM members u WHERE exists (select w.username f
rom tableb w where w.tid='1'and w.username=u.username);
------解决方案--------------------如果子查询是返回单个的值,这个语句好像没什么可优化的,
你可以考虑在两个表的连接字段 username 建索引
------解决方案--------------------SQL code
SELECT u.email FROM members u WHERE exists (select 1 from tableb w where u,username
=w.username and w.tid='1')
没经验,不晓得这么写会不会快一点点,楼主试一下。
另外给where后面 出现的字段加上索引