SQL Server´æ´¢¹ý³Ì±àдºÍÓÅ»¯´ëÊ©
Ò»¡¢Êʺ϶ÁÕ߶ÔÏó£ºÊý¾Ý¿â¿ª·¢³ÌÐòÔ±£¬Êý¾Ý¿âµÄÊý¾ÝÁ¿ºÜ¶à£¬Éæ¼°µ½¶ÔSP£¨´æ´¢¹ý³Ì£©µÄÓÅ»¯µÄÏîÄ¿¿ª·¢ÈËÔ±£¬¶ÔÊý¾Ý¿âÓÐŨºñÐËȤµÄÈË¡£ ¡¡
¶þ¡¢½éÉÜ£ºÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾³£»áÓöµ½¸´ÔÓµÄÒµÎñÂß¼ºÍ¶ÔÊý¾Ý¿âµÄ²Ù×÷£¬Õâ¸öʱºò¾Í»áÓÃSPÀ´·â×°Êý¾Ý¿â²Ù×÷¡£Èç¹ûÏîÄ¿µÄSP½Ï¶à£¬ÊéдÓÖûÓÐÒ»¶¨µÄ¹æ·¶£¬½«»áÓ°ÏìÒÔºóµÄϵͳά»¤À§ÄѺʹóSPÂß¼µÄÄÑÒÔÀí½â£¬ÁíÍâÈç¹ûÊý¾Ý¿âµÄÊý¾ÝÁ¿´ó»òÕßÏîÄ¿¶ÔSPµÄÐÔÄÜÒªÇóºÜ£¬¾Í»áÓöµ½ÓÅ»¯µÄÎÊÌ⣬·ñÔòËÙ¶ÈÓпÉÄܺÜÂý£¬¾¹ýÇ×Éí¾Ñ飬һ¸ö¾¹ýÓÅ»¯¹ýµÄSPÒª±ÈÒ»¸öÐÔÄܲîµÄSPµÄЧÂÊÉõÖÁ¸ß¼¸°Ù±¶¡£ ¡¡
Èý¡¢ÄÚÈÝ£º ¡¡
1¡¢¿ª·¢ÈËÔ±Èç¹ûÓõ½ÆäËû¿âµÄTable»òView£¬Îñ±ØÔÚµ±Ç°¿âÖн¨Á¢ViewÀ´ÊµÏÖ¿ç¿â²Ù×÷£¬×îºÃ²»ÒªÖ±½ÓʹÓÓdatabse.dbo.table_name”£¬ÒòΪsp_depends²»ÄÜÏÔʾ³ö¸ÃSPËùʹÓõĿç¿âtable»òview£¬²»·½±ãУÑé¡£¡¡¡¡
2¡¢¿ª·¢ÈËÔ±ÔÚÌá½»SPÇ°£¬±ØÐëÒѾʹÓÃset showplan on·ÖÎö¹ý²éѯ¼Æ»®£¬×ö¹ý×ÔÉíµÄ²éѯÓÅ»¯¼ì²é¡£ ¡¡
3¡¢¸ß³ÌÐòÔËÐÐЧÂÊ£¬ÓÅ»¯Ó¦ÓóÌÐò£¬ÔÚSP±àд¹ý³ÌÖÐÓ¦¸Ã×¢ÒâÒÔϼ¸µã£º ¡¡¡¡
a)SQLµÄʹÓù淶£º
i.¡¡¾¡Á¿±ÜÃâ´óÊÂÎñ²Ù×÷£¬É÷ÓÃholdlock×Ӿ䣬Ìá¸ßϵͳ²¢·¢ÄÜÁ¦¡£
ii.¡¡¾¡Á¿±ÜÃâ·´¸´·ÃÎÊͬһÕÅ»ò¼¸ÕÅ±í£¬ÓÈÆäÊÇÊý¾ÝÁ¿½Ï´óµÄ±í£¬¿ÉÒÔ¿¼ÂÇÏȸù¾ÝÌõ¼þÌáÈ¡Êý¾Ýµ½ÁÙʱ±íÖУ¬È»ºóÔÙ×öÁ¬½Ó¡£
iii.¡¡¾¡Á¿±ÜÃâʹÓÃÓα꣬ÒòΪÓαêµÄЧÂʽϲÈç¹ûÓαê²Ù×÷µÄÊý¾Ý³¬¹ý1ÍòÐУ¬ÄÇô¾ÍÓ¦¸Ã¸Äд£»Èç¹ûʹÓÃÁËÓα꣬¾ÍÒª¾¡Á¿±ÜÃâÔÚÓαêÑ»·ÖÐÔÙ½øÐбíÁ¬½ÓµÄ²Ù×÷¡£
iv.¡¡×¢Òâwhere×Ö¾äд·¨£¬±ØÐ뿼ÂÇÓï¾ä˳Ðò£¬Ó¦¸Ã¸ù¾ÝË÷Òý˳Ðò¡¢·¶Î§´óСÀ´È·¶¨Ìõ¼þ×Ó¾äµÄÇ°ºó˳Ðò£¬¾¡¿ÉÄܵÄÈÃ×Ö¶Î˳ÐòÓëË÷Òý˳ÐòÏàÒ»Ö£¬·¶Î§´Ó´óµ½Ð¡¡£
v.¡¡²»ÒªÔÚwhere×Ó¾äÖеē=”×ó±ß½øÐк¯Êý¡¢ËãÊõÔËËã»òÆäËû±í´ïʽÔËË㣬·ñÔòϵͳ½«¿ÉÄÜÎÞ·¨ÕýȷʹÓÃË÷Òý¡£
vi.¡¡¾¡Á¿Ê¹ÓÃexists´úÌæselect count(1)À´ÅжÏÊÇ·ñ´æÔڼǼ£¬countº¯ÊýÖ»ÓÐÔÚͳ¼Æ±íÖÐËùÓÐÐÐÊýʱʹÓ㬶øÇÒcount(1)±Ècount(*)¸üÓÐЧÂÊ¡£
vii.¡¡¾¡Á¿Ê¹ÓÓ>=”£¬²»ÒªÊ¹ÓÓ>”¡£
viii.¡¡×¢ÒâһЩor×Ó¾äºÍunion×Ó¾äÖ®¼äµÄÌæ»»
ix.¡¡×¢Òâ±íÖ®¼äÁ¬½ÓµÄÊý¾ÝÀàÐÍ£¬±ÜÃⲻͬÀàÐÍÊý¾ÝÖ®¼äµÄÁ¬½Ó¡£
x.¡¡×¢Òâ´æ´¢¹ý³ÌÖвÎÊýºÍÊý¾ÝÀàÐ͵ĹØϵ¡£
xi.¡¡×¢Òâinsert¡¢update²Ù×÷µÄÊý¾ÝÁ¿£¬·ÀÖ¹ÓëÆäËûÓ¦ÓóåÍ»¡£Èç¹ûÊý¾ÝÁ¿³¬¹ý200¸öÊý¾ÝÒ³Ã棨400k£©£¬ÄÇôϵͳ½«»á½øÐÐËøÉý¼¶£¬Ò³¼¶Ëø»áÉý¼¶³É±í¼¶Ëø¡£
b)Ë÷ÒýµÄʹÓù淶£º
Ïà¹ØÎĵµ£º
SQL ServerµÄÐÐÁÐת»»¹¦Äܷdz£ÊµÓ㬵«ÊÇÓÉÓÚÆäÓï·¨²»ºÃ¶®£¬Ê¹ºÜ¶à³õѧÕ߶¼²»Ô¸ÒâʹÓÃËü¡£ÏÂÃæÎÒ¾ÍÓÃʾÀýµÄÐÎʽ£¬ÖðÒ»Õ¹ÏÖPivotºÍUnPivotµÄ÷ÈÁ¦¡£ÈçÏÂͼ
1.´ÓWide Table of Months ת»»µ½ Narrow TableµÄʾÀý
select [Year],[Month],[Sales] from
(
select * from MonthsTable
)p
unpivot
(
[Sales] for ......
Ç°Á½ÌìÒ»¸öѧ½ãÎÊÎÒ¸öSQLÓï¾äµÄÎÊÌ⣬ÏÖÔڰѽâ¾ö·½°¸Ìù³öÀ´£¬Ò²Ëã×ܽáһϰɡ£
ËýµÄÎÊÌâÊÇ£º“Ò»¸ö±íÖÐÓÐ15¸ö×ֶΣ¬ÓÃSQLÓï¾äÅжÏÆäÖÐ5Ïî»òÒÔÉϲ»Îª¿Õ£¬ÔõôÅжϣ¬ºÜ¼±……”¡£
µ±Ê±ÎÒºÜ棬û¶à¿´£¬ºÇºÇ£¬²»¹»Òâ˼À²¡£µ«ÎÒÇëͬÊ°ïËýдÁ˸ö£¬ÒÔ½âȼü֮¼±£¬ÔÚ´ËҲллСÃס£
½ñÌìÔÙ°ÑQQÁÄÌì¼Ç¼· ......
¹Ì¶¨³¤¶È(char)Óë¿É±ä³¤¶È(varchar)×Ö·ûÊý¾ÝÀàÐÍ
char[(n)]
³¤¶ÈΪn¸ö×ֽڵĹ̶¨³¤¶ÈÇÒ·ÇUnicodeµÄ×Ö·ûÊý¾Ý¡£n±ØÐëÊÇÒ»¸ö½éÓÚ1ºÍ8,000Ö®¼äµÄÊýÖµ¡£´æ´¢´óСΪn¸ö×Ö½Ú¡£charÔÚSQL-92ÖеÄͬÒå´ÊΪcharacter¡£
varchar[(n)]
³¤¶ÈΪn¸ö×ֽڵĿɱ䳤¶ÈÇÒ·ÇUnicodeµÄ×Ö·ûÊý¾Ý¡£n±ØÐëÊÇÒ»¸ö½éÓÚ1ºÍ8,000Ö®¼äµÄÊýÖµ¡£´æ´¢´óСΪ ......
תÔØ×Ô£ºhttp://www.cnblogs.com/leonbao/archive/2008/03/07/1094821.html
¹ØÓÚSQL ServerÊý¾Ý¿âÉè¼ÆµÄ¸ÐÎò£¬ÇëÖ¸½Ì
ÓÐÎÊÌâµÄʱºò£¬ÎÒ¾³£»ØÀ´²©¿ÍÔ°Ñ°ÕҴ𰸣¬¾Ã¶ø¾ÃÖ®£¬×ܽáÁËһЩ¶«Î÷¡£
Íý×ԷƱ¡£¬Çë´ó¼Ò¶àÖ¸³ö´íÎ󣬲¢¸ø³öÒâ¼û
Êý¾Ý¿âÉè¼ÆÈý·¶Ê½»ù±¾ÔÔò
µÚÒ»·¶Ê½£ºÊý¾Ý¿â±íÖеÄ×ֶζ¼Êǵ¥Ò»ÊôÐԵģ¬²»¿ÉÔÙ·Ö¡£Õâ ......
Ò»¡¢Êʺ϶ÁÕ߶ÔÏó£ºÊý¾Ý¿â¿ª·¢³ÌÐòÔ±£¬Êý¾Ý¿âµÄÊý¾ÝÁ¿ºÜ¶à£¬Éæ¼°µ½¶ÔSP£¨´æ´¢¹ý³Ì£©µÄÓÅ»¯µÄÏîÄ¿¿ª·¢ÈËÔ±£¬¶ÔÊý¾Ý¿âÓÐŨºñÐËȤµÄÈË¡£ ¡¡
¶þ¡¢½éÉÜ£ºÔÚÊý¾Ý¿âµÄ¿ª·¢¹ý³ÌÖУ¬¾³£»áÓöµ½¸´ÔÓµÄÒµÎñÂß¼ºÍ¶ÔÊý¾Ý¿âµÄ²Ù×÷£¬Õâ¸öʱºò¾Í»áÓÃSPÀ´·â×°Êý¾Ý¿â²Ù×÷¡£Èç¹ûÏîÄ¿µÄSP½Ï¶à£¬ÊéдÓÖûÓÐÒ»¶¨µÄ¹æ·¶£¬½«»áÓ°ÏìÒÔºóµÄϵͳά»¤ ......