作者ankasc (初夏。)
看板Database
标题Re: [SQL ] 哪一种SQL文效率比较高呢??
时间Tue Nov 14 19:14:45 2006
※ 引述《delicate (泡沫爱情)》之铭言:
: 这样子语法的不同, 在query时的效率会有差别吗??
: 状况一:
: 连结两个表单, 用 INNER JOIN 还是 直接用WHERE 比较好??
: SELECT whatever
: FROM TB1 INNER JOIN TB2 ON TB1.fd1 = TB2.fd2
: 还是
: SELECT whatever
: FROM TB1, TB2
: WHERE TB1.fd1 = TB2.fd2
大多数的DBMS有做过最佳化了,
所以这两个的差别应该不大。
: 状况二:
: 比较两个表单的差异的query,
: (例如要看表1当中的资料, 有哪些是表2中没有的)
: 用 LEFT JOIN 还是 巢状式query 比较好??
: SELECT TB1.fd1
: FROM TB1 LEFT JOIN TB2 ON TB1.fd1 = TB2.fd2
: WHERE TB2.fd2 IS NULL
: 还是
: SELECT TB1.fd1
: FROM TB1
: WHERE TB1.fd1 NOT IN (SELECT TB2.fd2 FROM TB2)
: 谢谢!!
据我所知,以SQL Server来讲,in 的效果是最差的,
有可能是与set的实作方式有关,记得之前在MSDN上有看过文章。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.86.128.60
1F:推 jerryen:in会比outer join还差吗 应该差不多吧 11/19 07:43
2F:推 jerryen:outer join应该还慢一点 11/19 07:44