mssql sqlserver 多表联合查询效率提升方法分享


摘要:
下文通过举例的方式分享sql联合查询效率提升方法,如下所示:


下文通过建立的索引的方式对比sql语句的查询效率:如下所示:
—未建立索引前:
select count(*) from testA,testB where testA.keyId=testB.keyId and testA.info=’A’ —耗时9秒
未建立索引前,sql脚本会将所有数据进行笛卡尔集计算,然后将数据放入临时表中,做where过滤操作
—在表testA上建立索引,索引包含列keyId info ,再次运行一下脚本:
select count(*) from testA,testB where testA.keyId=testB.keyId and testA.info=’A’ —耗时0.09秒
我们可以看出,拥有索引后,sql查询效率得到了百倍的提升,可见索引对于sql检索数据至关重要。

索引建立规则:
1.尽量建唯一索引
2.在经常需要排序 分组 操作的字段上建立索引
3.索引尽量包含需返回列
4.删除不使用或很少使用的索引
5.在常检索的字段上添加索引