DB2 SQLÐÔÄÜÓÅ»¯Ïà¹ØµÄ10´óÒªËØ
ÏÂÃæÌá³öÁË10ÌõºÍDB2 SQLÐÔÄÜÏà¹ØµÄ10ÌõÒòËØ£º
1¡¢ÌṩÊʵ±µÄͳ¼ÆÐÅÏ¢
¶ÔDB2ÓÅ»¯¹ÜÀíÆ÷£¨otimizer£©¶øÑÔ£¬ÈçºÎ¸ü¼ÓÓÐЧµÄÖ´ÐÐSQLÓï¾äÊÇÓÉ´æÔÚÓÚDB2 catalogÖеÄͳ¼ÆÐÅÏ¢¾ö¶¨µÄ£¬ÓÅ»¯Æ÷ÀûÓÃÕâЩÐÅÏ¢¾ö¶¨×îÓÅ»¯µÄ·¾¶¡£
Òò´Ë£¬ÎªÁ˱£³ÖϵͳÄܹ»×ö³ö×î¼ÑÑ¡Ôñ£¬ÐèÒª¾³£µÄÔËÐÐRunstatsÃüÁÀ´±£³Öϵͳͳ¼ÆÐÅÏ¢µÄ¼°Ê±ÓÐЧ¡£ÔÚ¹¤×÷¸ººÉºÜ´óµÄÉú²ú»·¾³ÖУ¬¾³£ÔËÐÐRunstatsÊǺܱØÒªµÄ£¬ÎªÁ˼õÉÙ½øÐÐͳ¼Æ¶Ôϵͳ´øÀ´µÄÓ°Ï죬¿ÉÒÔʹÓÃSampling¼¼Êõ¡£
2¡¢ÔÚSQLÓï¾äÖо¡Á¿Ê¹ÓÃStage 1µÄν´Ê
ÊôÓÚStage 1µÄSQLν´ÊÓÉData Manager´¦Àí£¬¶øÊôÓÚStage 2µÄSQLÓÉRelational Data ServerÖ´ÐС£ÔÚ´¦ÀíЧÂÊÉÏ£¬Data Manager¸üÓÐÓÅÊÆ£¬Òò´Ë£¬Èç¹û¿ÉÄܵϰ¾¡Á¿°ÑSQLÓï¾äд³ÉÄܹ»ÔÚStage 1Ö´Ðеġ£Èç¹ûÄܹ»½áºÏIndexÀ´È·¶¨SQLÓï¾äÖеÄν´Ê£¬ÄÇô½«»á¸ü¼ÓÌá¸ßSQLÖ´ÐеÄЧÂÊ¡£Òò´Ë£¬ÔÚдSQL²éѯÓï¾äµÄʱºò£¬Òª½áºÏIndexµÄ¶¨ÒåÒÔ¼°Î½´ÊÃèдµÄÑ¡Ôñ£¬¾¡¿ÉÄܵÄÈÃSQLÔÚStage 1ÔËÐС£
3¡¢ÔÚSQLÖнöÑ¡ÔñÐèÒªµÄÁÐ
ÔÚSQLÓï¾äÖУ¬½öÖ¸¶¨³ÌÐòÐèÒªµÄÁлáÓÐÀûÓÚÌá¸ßSQLÔËÐеÄÐÔÄÜ¡£Èç¹û²ÉÓÃSelect *ÕâÖÖģʽ£¬½«»á¸ø¿Í»§¶ËµÄÓ¦ÓóÌÐò´øÀ´¶îÍâµÄ´¦Àí¹¤×÷£¬²¢ÐèÒª¸ü¶àµÄÄÚ´æµÈ×ÊÔ´¡£¶Ô·þÎñÆ÷¶Ë¶øÑÔ£¬¶àÓàµÄÁÐÔÚÅÅÐò¹ý³ÌÖлáÔö´óSort¹¤×÷Îļþ£¬²¢Òò´Ëµ¼ÖÂÅÅÐòËٶȵÄϽµ£¬²¢ÐèÒª¸ü¶àµÄ´æ´¢×ÊÔ´¡£ÔÚÍøÂç´«Êä¹ý³ÌÖУ¬Ò²½«´«ÊäһЩ²»±ØÒªµÄÊý¾Ý£¬½µµÍÍøÂçЧÂÊ¡£
4¡¢½öÑ¡ÔñÐèÒªµÄÐÐ
²éѯµÄÐÐÔ½ÉÙ£¬²éѯµÄËٶȺÍÏìÓ¦ËٶȾÍÔ½¿ì¡£²éѯ»ñµÃµÄÿһÐÐÊý¾Ý£¬¶¼¾ÀúÁË´Ó´æ´¢É豸-¡µ»º³å³Ø-¡µÅÅÐòºÍת»»-¡µÍøÂç´«Êä-¡µÓ¦ÓóÌÐòµÈһϵÁйý³Ì¡£ÔÚÊý¾ÝµÄ²éѯ¹ý³ÌÖУ¬Êý¾Ý¿â¹ÜÀíÆ÷½«»á×÷ºÜ¶àÊý¾ÝµÄ¹ýÂ˹¤×÷£¬Èç¹ûÓÐÐí¶à²¢²»ÐèÒªµÄÐдÓÊý¾Ý¿âÖмìË÷³öÀ´£¬½«»áÀ˷Ѻܶ಻±ØÒªµÄ´¦Àíʱ¼ä£¬Òò´Ë£¬ÔÚSQLÓï¾äµÄ׫д¹ý³ÌÖÐÓ¦¸ÃÏêϸµÄÖ¸¶¨²éѯÌõ¼þ£¬½ö²éѯÐèÒªµÄÐС£
5¡¢Èç¹ûÊý¾Ý¿âÖеÄÊý¾ÝºÜ³¤Ê±¼ä²»±ä£¬ÔÚSQL¾¡Á¿Ê¹Óó£Á¿»òÕß×Ö·û¡£
ÔÚSQLÖÐʹÓÃÖ÷»ú±äÁ¿£¬ÊÇΪÁËʹϵͳÊÊÓ¦²»¶Ï±ä»¯µÄÍⲿ»·¾³¡£ÔÚSQL³ÌÐòÖÐʹÓÃÖ÷»ú±äÁ¿Äܹ»Ê¹Ó¦ÓóÌÐò²»ÐèÒªÖØÐ°󶨾ͿÉÒÔÖ±½ÓÖ´ÐÐеÄSQL¶¨Òå¡£µ«ÊÇÕâÖÖÁé»îÐÔÊÇÒÔ½µµÍDB2ÓÅ»¯¹ÜÀíÆ÷µÄÐÔÄÜΪ´ú¼ÛµÄ¡£ÔÚ°üº¬Ö÷»ú±äÁ¿µÄSQLÓï¾äÖУ¬DB2ÓÅ»¯¹ÜÀíÆ÷ÒÔĬÈϵĹÀ¼ÆÖµÀ´½øÐÐSQL·¾¶µÄÑ¡Ôñ£¬¶ø²»ÊǸù¾ÝCatalogÖеÄͳ¼ÆÐÅÏ¢£¬ÕâÖÖÑ¡ÔñºÜ¶àʱºò¶¼²»ÊÇ×îÓÅ»¯µÄ¡£Òò´Ë£¬Ê¹Óó£Á¿»òÕß×Ö·û´úÌæÖ÷»ú±äÁ¿ÔÚ³¤Ê±¼ä¹Ì¶¨²»±äµÄ»·¾³Öн«»á±ÈʹÓÃÖ÷»ú±äÁ¿¸üÓÐÓÅÊÆ¡£
6¡¢Ê¹Êý×Ö¡¢ÈÕÆÚµÈÊý¾ÝÀàÐÍÏàÆ¥
Ïà¹ØÎĵµ£º
·ÖÒ³²éѯµÄÔÀí£º
Õâ¸öÖ»ÄÜÓÃÔÙSql2005¼°ÒÔÉϵİ汾
DECLARE @pagenum AS INT, @pagesize AS INT
SET @pagenum = 2
SET @pagesize = 3
SELECT *
from (SELECT ROW_NUMBER()&n ......
·½·¨(1)
SELECT stuff((select ','+ltrim(ColumnName) from #A for xml path('')
),1,1,'')
/*
102,103,104,105
*/
·½·¨(2)
DECLARE @s NVARCHAR(1000)='';
SELECT @s+=ColumnName+',' from #A;
SELECT @s; ......
´¦ÀíÍøÕ¾²éѯ°üº¬”Ö®”×Ö³öÏ֔ȫÎÄËÑË÷Ìõ¼þÖаüº¬¸ÉÈÅ´Ê”ÏÖÏóµÄ×ܽ᣺
author:perfectaction
Sql server 2008È«ÎÄË÷ÒýµÄ¸ÉÈŴʱíĬÈÏÔÚResource¿âϵͳ±íÄÚ£¬ÎÞ·¨¸ü¸Ä£¬µ«sql2008ÌṩÁË×Ô¶¨Òå¸ÉÈŴʱíµÄ¹¦ÄÜ£¬¿É°ó¶¨µ½Ä³¸öÈ«ÎÄË÷ÒýÉÏ¡£
Ïà¹Ø²Ù×÷ÈçÏ£º
--sql server 2008 È«ÎÄË÷Òý½¨Á¢¼°´´½¨È«ÎÄ ......
¶¨ÒåºÍÓ÷¨
DATEDIFF() º¯Êý·µ»ØÁ½¸öÈÕÆÚÖ®¼äµÄÌìÊý¡£
Óï·¨
DATEDIFF(datepart,startdate,enddate)
startdate ºÍ enddate ²ÎÊýÊǺϷ¨µÄÈÕÆÚ±í´ïʽ¡£
datepart ²ÎÊý¿ÉÒÔÊÇÏÂÁеÄÖµ£º
datepart
Ëõд
Äê
yy, yyyy
¼¾¶È
qq, q
ÔÂ
mm, m
ÄêÖеÄÈÕ
dy, y
ÈÕ
dd, d
ÖÜ
wk, ww
ÐÇÆÚ
dw, w
Сʱ
h ......
¸øÄã¸ö×îÏêϸµÄ°É ¿ÉÄÜÓÐÄãÒªµÄÄÚÈÝ
ËøµÄ¸ÅÊö
Ò». ΪʲôҪÒýÈëËø
¶à¸öÓû§Í¬Ê±¶ÔÊý¾Ý¿âµÄ²¢·¢²Ù×÷ʱ»á´øÀ´ÒÔÏÂÊý¾Ý²»Ò»ÖµÄÎÊÌâ:
¶ªÊ§¸üÐÂ
A,BÁ½¸öÓû§¶ÁͬһÊý¾Ý²¢½øÐÐÐÞ¸Ä,ÆäÖÐÒ»¸öÓû§µÄÐ޸Ľá¹ûÆÆ»µÁËÁíÒ»¸öÐ޸ĵĽá¹û,±ÈÈ綩Ʊϵͳ
Ôà¶Á
AÓû§ÐÞ¸ÄÁËÊý¾Ý,ËæºóBÓû§ÓÖ¶Á³ö¸ÃÊý¾Ý,µ«AÓû§ÒòΪijЩÔÒòÈ¡Ï ......