我对SQL没有几个问题。
in,以便性能更好?例:从enquiry_courses WHERE enquiry_id IN中选择*(从enquiry_id = '4cd3420a16dbd61c6af58f6199ac00f1‘)
JOINS、EXISTS或IN (从enquiry_id的角度来看)感谢你的评论/帮助..。
发布于 2010-01-07 11:46:51
Actual Execution Plan、SET STATISTICS TIME和SET STATISTICS IO。JOIN,但是重写可能无关紧要。一个猜测可能是您需要enquiry_courses.enquiry_id和enquiries.session_id上的索引来改进查询enquiries.session_id。发布于 2010-01-07 11:47:50
MSSQL通常附带一个内置的gui工具,称为Query,它描述如何执行查询。
2)您可以将其重写为:
SELECT *
FROM enquiry_courses ec
WHERE EXISTS (select 1 FROM enquiries e
WHERE e.enquiry_id = ec.enquiry_id
and e.session_id ='4cd3420a16dbd61c6af58f6199ac00f1' )但我不敢相信,在现代的RDBMS中,它的性能会有任何不同。
发布于 2010-01-07 12:56:13
3:我希望数据库引擎将IN或EXIST子句简化为JOIN,因此性能不应该有差异。我不知道SQL Server,但在Oracle中,您可以通过检查执行计划来验证这一点。
https://stackoverflow.com/questions/2019958
复制相似问题