SQL查询效率的讨论


  本文标签:SQL查询

  对于数据库来说,查询是数据库的灵魂,那么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毫秒级