select in 转 select exists 本帖最后由 ccdarkness 于 2009-06-11 12:19:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SELECT * FROM db_sorts s where exists (select ss.id from db_sorts ss where ss.id=s.sort_fid and ss.sort_fid=118) 没有看到记录,TRY:SELECT * FROM db_sorts s where exists ( select ss.id from db_sorts ss where ss.sort_fid=118 and find_in_set(s.sort_fid,ss.id)) find_in_set(s.sort_fid,ss.id)) find_in_set这个函数好像没用到索引,所以查询速度会慢一点,能有更好的办法吗? SELECT * FROM db_sorts s where exists(select 1 from db_sorts ss where s.sort_fid=ss.id and ss.sort_fid=118) SELECT * FROM db_sorts s where exists ( select ss.id from db_sorts ss where ss.sort_fid=118 and ss.id = s.sort_fid ); SELECT * FROM db_sorts s where exists ( select ss.id from db_sorts ss where ss.sort_fid=118 and s.sort_fid=ss.id) 联合主键 请问mysql怎么关闭查询缓存 记录明明只有两条,用repeat mysql中类型为int的数据怎样自加1? mysql 字符变量默认设置(windows) 为什么出错啊 我升级了Fedora3重起以后就不能运行MYSQL了 如何取出用数据库存贮的文件? MySQL4.1.0 for windows中文字符集问题?急!!! 触屏点餐系统,用什么语言开发? mysql循环错误 接刚才的timestamp类型的加法运算的问题
where exists (select ss.id from db_sorts ss where ss.id=s.sort_fid and ss.sort_fid=118)
SELECT * FROM db_sorts s where exists ( select ss.id from db_sorts ss where ss.sort_fid=118 and find_in_set(s.sort_fid,ss.id))
find_in_set这个函数好像没用到索引,所以查询速度会慢一点,能有更好的办法吗?
*
FROM
db_sorts s
where
exists(select 1 from db_sorts ss where s.sort_fid=ss.id and ss.sort_fid=118)
where exists ( select ss.id from db_sorts ss where ss.sort_fid=118 and ss.id = s.sort_fid );