优化SQL查询:如何写出高性能SQL语句
<p style="clear:both;min-height:1em;color:rgb(62,62,62);font-family:'Helvetica Neue',Helvetica,'Hiragino Sans GB','Microsoft YaHei',Arial,sans-serif;font-size:16px;line-height:25.6px;"> <p style="clear:both;min-height:1em;color:rgb(62,66);"> <p style="clear:both;min-height:1em;color:rgb(62,sans-serif;font-size:16px;line-height:25.6px;"> 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。 <p style="clear:both;min-height:1em;color:rgb(62,sans-serif;font-size:16px;line-height:25.6px;">
2、 统一SQL语句的写法
3、 不要把SQL语句写得太复杂
4、 使用“临时表”暂存中间结果
5、 OLTP系统SQL语句必须采用绑定变量 '2010-10-20 00:00:01' select*from orderheader where changetime >'2010-09-22 00:00:01'
@chgtime
6、 绑定变量窥测
7、 只在必要的情况下才使用begin tran
8、 一些SQL查询语句应加上nolock
9、 聚集索引没有建在表的顺序字段上,该表容易发生页分裂
10、加nolock后查询经常发生页分裂的表,容易产生跳读或重复读
11、使用like进行模糊查询时应注意
12、数据类型的隐式转换对查询效率的影响
13、SQL Server 表连接的三种方式
总结一下,在表连接时要注意以下几点:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |