データベース・クエリーの最適化シナリオ(百万以上のレコードを処理してクエリーの処理速度を向上させる方法)
1. , , where order by 。
2. where null , , :
select id from t where num is null
num 0, num null , :
select id from t where num=0
3. where != <> , 。
4. where or , , :
select id from t where num=10 or num=20
:
select id from t where num=10
union all
select id from t where num=20
5.in not in , , :
select id from t where num in(1,2,3)
, between in :
select id from t where num between 1 and 3
6. :
select id from t where name like '%abc%'
, 。
7. where , 。 SQL , ; 。 , , , 。 :
select id from t where num=@num
:
select id from t with(index( )) where num=@num
8. where , 。 :
select id from t where num/2=100
:
select id from t where num=100*2
9. where , 。 :
select id from t where substring(name,1,3)='abc'--name abc id
select id from t where datediff(day,createdate,'2005-11-30')=0--‘2005-11-30’ id
:
select id from t where name like 'abc%'
select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'
10. where “=” 、 , 。
11. , , , , 。
12. , :
select col1,col2 into #t from t where 1=0
, , :
create table #t(...)
13. exists in :
select num from a where num in(select num from b)
:
select num from a where exists(select 1 from b where num=a.num)
14. ,SQL , ,SQL , sex,male、female , sex 。
15. , select , insert update , insert update , , 。 6 , 。
16. clustered , clustered , , 。 clustered , clustered 。
17. , , , 。 , 。
18. varchar/nvarchar char/nchar , , , , 。
19. select * from t , “*”, 。
20. 。 , ( )。
21. , 。
22. , , , 。 , , 。
23. , , select into create table, log , ; , , create table, insert。
24. , , truncate table , drop table , 。
25. , , 1 , 。
26. , , 。
27. , 。 FAST_FORWARD , 。 “ ” 。 , , 。
28. SET NOCOUNT ON , SET NOCOUNT OFF 。 DONE_IN_PROC 。
29. , 。
30. , , 。
転載:http://www.blogjava.net/michaellee/archive/2009/12/19/306666.html