//SQL查询代码要如何优化,这段要十秒钟
--查询产品分类
SELECT PK_ID,ProdSortParentID,ProdSortName FROM dbo.ProductSort WHERE PK_ID IN(--查询公司产品分类ID是在产品分类产品ID
SELECT ProdSortParentID FROM dbo.ProductSort WHERE PK_ID IN(--查询公司产品分类ID
SELECT FK_ProductSortID FROM dbo.Shop_CompanyProductSort WHERE
FK_CompanyListID =6795 and
FK_ProductSortID IN (--查询该公司所有产品的分类ID
SELECT FK_ProductTypeID FROM Shop_ProductList WHERE FK_CompanyListID=6795 AND IsAudit=1 AND isDelete=0 GROUP BY FK_ProductTypeID
) GROUP BY FK_ProductSortID)GROUP BY ProdSortParentID
)
--查询产品分类
SELECT PK_ID,ProdSortParentID,ProdSortName FROM dbo.ProductSort WHERE PK_ID IN(--查询公司产品分类ID是在产品分类产品ID
SELECT ProdSortParentID FROM dbo.ProductSort WHERE PK_ID IN(--查询公司产品分类ID
SELECT FK_ProductSortID FROM dbo.Shop_CompanyProductSort WHERE
FK_CompanyListID =6795 and
FK_ProductSortID IN (--查询该公司所有产品的分类ID
SELECT FK_ProductTypeID FROM Shop_ProductList WHERE FK_CompanyListID=6795 AND IsAudit=1 AND isDelete=0 GROUP BY FK_ProductTypeID
) GROUP BY FK_ProductSortID)GROUP BY ProdSortParentID
)
如果只是查询某个数值在另一张表中是否存在,子查询使用 Select top 1 ... ...
1.改为inner join写法.
2.group by应可去掉.
3.注意查询字段和关联字段上应要有索引.