这个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 建索引
[解决办法]
SELECT u.email FROM members u WHERE exists (select 1 from tableb w where u,username=w.username and w.tid='1')没经验,不晓得这么写会不会快一点点,楼主试一下。另外给where后面 出现的字段加上索引