データベース・クエリーの最適化シナリオ(百万以上のレコードを処理してクエリーの処理速度を向上させる方法)


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