一路向前,直到无路可走。

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

因读取数据关联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()随机排序,

 

今天只是描述原因。

下一次举例说明。

posted on 2011-07-25 16:00  chetas  阅读(161)  评论(0编辑  收藏  举报