求教一SQL优化

cantops 2007-08-08 03:27:43
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] where title like '%测%'
and SellID IN (SELECT SellID FROM [T_Sell_Property] where ValueString='黑色' AND LabelID=2)

一直说IN 效率不高, 可我现在有这样的需求,应该怎样优化呢?

...全文
150 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojuju10 2007-08-08
  • 打赏
  • 举报
回复
--用exists吧

SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] a where title like '%测%'
and exists(SELECT 1 FROM [T_Sell_Property] where ValueString='黑色' AND LabelID=2
and a.SellID=SellID)


zp_cool 2007-08-08
  • 打赏
  • 举报
回复
Ctrl+L
LIHY70 2007-08-08
  • 打赏
  • 举报
回复
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] a,(SELECT SellID FROM [T_Sell_Property] where ValueString='黑色' AND LabelID=2) b
where title like '%测%'
and a.SellID=b.SellID
cantops 2007-08-08
  • 打赏
  • 举报
回复
SELECT T.[SellID]
,T.[SortID]
,T.[Title]
FROM [TestSort].[dbo].[T_Sell] AS T
INNER JOIN (SELECT SellID FROM [T_Sell_Property] where ValueString='黑色' AND LabelID=2) AS P
ON T.SellID=P.SellID WHERE T.title like '%测%'


大家看看我这个是不是效率会高点?
vchao13 2007-08-08
  • 打赏
  • 举报
回复
刚才发的有点问题。。exists比in效率高,好多人都这么说,我没测试过,你可以试试。。
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] a where title like '%测%'
and exists (SELECT * FROM [T_Sell_Property] where a.sellid=sellid and ValueString='黑色' AND LabelID=2)
vchao13 2007-08-08
  • 打赏
  • 举报
回复
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] a where title like '%测%'
and SellID exists (SELECT * FROM [T_Sell_Property] where a.sellid=sellid and ValueString='黑色' AND LabelID=2)
Limpire 2007-08-08
  • 打赏
  • 举报
回复
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] a join [T_Sell_Property] b
on a.title like '%测%' and b.ValueString='黑色' and b.LabelID=2 and a.SellID = b.SellID
Limpire 2007-08-08
  • 打赏
  • 举报
回复
JOIN吧,效率是否比IN高,没测试过
dawugui 2007-08-08
  • 打赏
  • 举报
回复
select a.* from
(
SELECT [SellID]
,[SortID]
,[Title]
FROM [TestSort].[dbo].[T_Sell] where title like '%测%'
) a,
(
SELECT SellID FROM [T_Sell_Property] where ValueString='黑色' AND LabelID=2
) b
where a.SellID = b.SellID

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧