以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这两个sql语句的效率哪个高? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=133739) |
-- 作者:happyft -- 发布时间:2019/4/19 12:03:00 -- 这两个sql语句的效率哪个高? SELECT a.* ,(SELECT TOP 1 品名 FROM 产品编码 x WHERE a.产品编码 = x.产品编码) AS 品名 ,(SELECT TOP 1 规格 FROM 产品编码 x WHERE a.产品编码 = x.产品编码) AS 规格 FROM 采购单价 a SELECT a.* ,x.品名,x.规格 FROM 采购单价 a LEFT JOIN 产品编码 x ON a.产品编码 = x.产品编码 第一个用top 1 但这样引用两列以上时每一列都要单独用select top 1写,不能一次写,语句变得很长,而且多次select top1会不会影响效率? 产品编码表中没有重复的产品编码,都是唯一的,这样是不是下面那种效率更高? 谢谢!
|
-- 作者:有点甜 -- 发布时间:2019/4/19 12:17:00 --
连接查询 join 的效率更高。
比较效率,你可以在sqlserver工具那里测试,如 https://www.cnblogs.com/knowledgesea/p/3683505.html
或者 https://www.cnblogs.com/lyhabc/p/3187922.html
|