sql server 数据查询优化

前几周做项目遇到问题与大家分享

因读取数据关联N个表,我大部份都采用子查询(in),当时数据量在10000记录级内,而且在本地服务器运行速度都比较快。

当再一次导入几W条记录后多表关联(in)就宕机。然后疯狂网上搜解决方案。

 

查询速度慢的原因很多,常见如下几种:

1、没有索引或者没有用到索引

2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足。
5、网络速度慢。
6、查询出的数据量过大。

7、锁或者死锁。

8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
9、返回了不必要的行和列。
10、查询语句不好,没有优化 。

 

按照标准进行修改速度提升

1、查询表时都采取 with(nolock) 解锁,

2、创建计算列,

3、获取数据进行限制,

4、子查询优化尽量采用联接。

5、返回了不必要的行和列,特别包含子查询行和列。

6、消除newid()随机排序,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值