SQL查询语句优化的一点

王朝mssql·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

(1) INSERT [INTO] B SELECT id, field1, field2 FROM A WHERE NOT EXISTS (SELECT id FROM B WHERE id=[A.]id)

(2) INSERT [INTO] B SELECT * FROM A WHERE id NOT IN (SELECT id FROM B)

---------------------------------------------------------------------------

这两句,都是将 A 表中存在, 但B表中不存在的数据, 插入到B表中, 关联比较字段为 id.

但这两句的执行效率,却是有数量级的差别.

结论有两点:

尽量用 EXISTS 和 NOT EXISTS 代替 IN 和 NOT IN

不要偷懒, 尽量不用 SELECT * FROM ...., 而要写字段名 SELECT field1,field2,....

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航