sql 查询效率

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

S1:select B.* from A inner join B on A.id=B.id.

S2:游标遍历A表,更具ID找出B表中的记录,再插入的一张临时表里。

实验结果:S2的时间效率要远大于S1,至少100倍以上。

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接查询百万条数据;如果再对每条记录做处理,耗时将更长。

没有万能的工具,只有最合适的工具。为结果找最合适的方法、工具-sql server。

 

续:

S3:select B.* from B where EXISTS(select 1 from A where id=B.id)

该方案比S1稍微,弱100毫秒级

转载于:https://www.cnblogs.com/tebbic/archive/2010/08/25/1808483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值