前几周做项目遇到问题与大家分享
因读取数据关联N个表,我大部份都采用子查询(in),当时数据量在几W记录级内,而且在本地服务器运行速度都比较快。
参考许多书籍都说几种问题。
归纳如下:
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()随机排序,
今天只是描述原因。
下一次举例说明。