发布时间:2010-09-25 16:47 来源:未知
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对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查询百万条数据;假如再对每条记录做处理,耗时将更长。
没有万能的工具,只有最合适的工具。为结果找最合适的方法、工具-sql server。
续:
S3:select B.* from B where EXISTS(select 1 from A where id=B.id)
该方案比S1稍微,弱100毫秒级