摘要: 查询速度慢的原因:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。4、内存不足。5、网络速度慢。6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)。 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)。 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。9、返回了不必要的行和列。 10、查询语句不好,没有优化。我们的解决方案1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量( 阅读全文
posted @ 2011-03-08 10:52 伽马科技.攻城师 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=04、尽量避免在 where 子句中使用 or 来连接条件,否则将导致 阅读全文
posted @ 2011-03-08 10:36 伽马科技.攻城师 阅读(466) 评论(2) 推荐(0) 编辑
摘要: B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告找不到相应的关键字; B-树是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 阅读全文
posted @ 2011-03-08 10:12 伽马科技.攻城师 阅读(3627) 评论(0) 推荐(0) 编辑
天空网站统计分析系统
点击右上角即可分享
微信分享提示