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) SELECT u.*,i.* 这是什么意思 多级查询的问题? yueliangdao0608,MYSQLBINLOG怎么用,能给个例子吗? select嵌套的问题 如何把大文件存到 MySQL 数据库中呢? 如何设置MYSQL环境变量? 我在用MYOLEDB操作ASP.NET+MYSQL时,添加及修改操作都不接受中文,都出错了,英文数字都可以的,是为什么? MySQL数据库如何打包发布的? mysql 单表数据20万列表页显示很慢,求优化 mysql 索引是否可以去掉几个?复合索引 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 );