SQL ServerÊý¾Ý¿âËø»úÖÆ¼°ÀàÐÍ
Microsoft SQL Server£¨ÒÔϼò³ÆSQL Server£©×÷ΪһÖÖÖÐСÐÍÊý¾Ý¿â¹ÜÀíϵͳ£¬ÒѾµÃµ½Á˹㷺µÄÓ¦Ó㬸Ãϵͳ¸üÇ¿µ÷ÓÉϵͳÀ´¹ÜÀíËø¡£ÔÚÓû§ÓÐSQLÇëÇóʱ£¬ÏµÍ³·ÖÎöÇëÇó£¬×Ô¶¯ÔÚÂú×ãËø¶¨Ìõ¼þºÍϵͳÐÔÄÜÖ®¼äΪÊý¾Ý¿â¼ÓÉÏÊʵ±µÄËø£¬Í¬Ê±ÏµÍ³ÔÚÔËÐÐÆÚ¼ä³£³£×Ô¶¯½øÐÐÓÅ»¯´¦Àí£¬ÊµÐж¯Ì¬¼ÓËø¡£
¡¡¡¡¶ÔÓÚÒ»°ãµÄÓû§¶øÑÔ£¬Í¨¹ýϵͳµÄ×Ô¶¯Ëø¶¨¹ÜÀí»úÖÆ»ù±¾¿ÉÒÔÂú×ãʹÓÃÒªÇ󣬵«Èç¹û¶ÔÊý¾Ý°²È«¡¢Êý¾Ý¿âÍêÕûÐÔºÍÒ»ÖÂÐÔÓÐÌØÊâÒªÇ󣬾ͱØÐë×Ô¼º¿ØÖÆÊý¾Ý¿âµÄËø¶¨ºÍ½âËø£¬Õâ¾ÍÐèÒªÁ˽âSQL ServerµÄËø»úÖÆ£¬ÕÆÎÕÊý¾Ý¿âËø¶¨·½·¨¡£
¡¡¡¡ËøµÄ¶àÁ£¶ÈÐÔÒÔ¼°ËøÉý¼¶
¡¡¡¡Êý¾Ý¿âÖеÄËøÊÇÖ¸Ò»ÖÖÈí¼þ»úÖÆ£¬ÓÃÀ´Ö¸Ê¾Ä³¸öÓû§£¨Ò²¼´½ø³Ì»á»°£¬ÏÂͬ£©ÒѾռÓÃÁËijÖÖ×ÊÔ´£¬´Ó¶ø·ÀÖ¹ÆäËûÓû§×ö³öÓ°Ïì±¾Óû§µÄÊý¾ÝÐ޸Ļòµ¼ÖÂÊý¾Ý¿âÊý¾ÝµÄ·ÇÍêÕûÐԺͷÇÒ»ÖÂÐÔ¡£Õâ¶ùËùν×ÊÔ´£¬Ö÷ÒªÖ¸Óû§¿ÉÒÔ²Ù×÷µÄÊý¾ÝÐС¢Ë÷ÒýÒÔ¼°Êý¾Ý±íµÈ¡£¸ù¾Ý×ÊÔ´µÄ²»Í¬£¬ËøÓжàÁ£¶È£¨multigranular£©µÄ¸ÅÄҲ¾ÍÊÇÖ¸¿ÉÒÔËø¶¨µÄ×ÊÔ´µÄ²ã´Î¡£SQL ServerÖÐÄܹ»Ëø¶¨µÄ×ÊÔ´Á£¶È°üÀ¨£ºÊý¾Ý¿â¡¢±í¡¢ÇøÓò¡¢Ò³Ãæ¡¢¼üÖµ£¨Ö¸´øÓÐË÷ÒýµÄÐÐÊý¾Ý£©¡¢Ðбêʶ·û£¨RID£¬¼´±íÖеĵ¥ÐÐÊý¾Ý£©¡£
¡¡¡¡²ÉÓöàÁ£¶ÈËøµÄÖØÒªÓÃ;ÊÇÓÃÀ´Ö§³Ö²¢·¢²Ù×÷ºÍ±£Ö¤Êý¾ÝµÄÍêÕûÐÔ¡£SQL Server¸ù¾ÝÓû§µÄÇëÇó£¬×ö³ö·ÖÎöºó×Ô¶¯¸øÊý¾Ý¿â¼ÓÉϺÏÊʵÄËø¡£¼ÙÉèijÓû§Ö»²Ù×÷Ò»¸ö±íÖеIJ¿·ÖÐÐÊý¾Ý£¬ÏµÍ³¿ÉÄÜ»áÖ»Ìí¼Ó¼¸¸öÐÐËø£¨RID£©»òÒ³ÃæËø£¬ÕâÑù¿ÉÒÔ¾¡¿ÉÄÜ¶àµØÖ§³Ö¶àÓû§µÄ²¢·¢²Ù×÷¡£µ«ÊÇ£¬Èç¹ûÓû§ÊÂÎñÖÐÆµ·±¶Ôij¸ö±íÖеĶàÌõ¼Ç¼²Ù×÷£¬½«µ¼Ö¶ԸñíµÄÐí¶à¼Ç¼Ðж¼¼ÓÉÏÁËÐм¶Ëø£¬Êý¾Ý¿âϵͳÖÐËøµÄÊýÄ¿»á¼±¾çÔö¼Ó£¬ÕâÑù¾Í¼ÓÖØÁËϵͳ¸ººÉ£¬Ó°ÏìϵͳÐÔÄÜ¡£Òò´Ë£¬ÔÚÊý¾Ý¿âϵͳÖУ¬Ò»°ã¶¼Ö§³ÖËøÉý¼¶(lock escalation)¡£ËùÎ½ËøÉý¼¶ÊÇÖ¸µ÷ÕûËøµÄÁ£¶È£¬½«¶à¸öµÍÁ£¶ÈµÄËøÌæ»»³ÉÉÙÊýµÄ¸ü¸ßÁ£¶ÈµÄËø£¬ÒÔ´ËÀ´½µµÍϵͳ¸ººÉ¡£ÔÚSQL ServerÖе±Ò»¸öÊÂÎñÖеÄËø½Ï¶à£¬´ïµ½ËøÉý¼¶ÃÅÏÞʱ£¬ÏµÍ³×Ô¶¯½«Ðм¶ËøºÍÒ³ÃæËøÉý¼¶Îª±í¼¶Ëø¡£ÌرðÖµµÃ×¢ÒâµÄÊÇ£¬ÔÚSQL ServerÖУ¬ËøµÄÉý¼¶ÃÅÏÞÒÔ¼°ËøÉý¼¶ÊÇÓÉϵͳ×Ô¶¯À´È·¶¨µÄ£¬²»ÐèÒªÓû§ÉèÖá£
¡¡¡¡SQL ServerËøÀàÐÍ
¡¡¡¡1£® HOLDLOCK: ÔڸñíÉϱ£³Ö¹²ÏíËø£¬Ö±µ½Õû¸öÊÂÎñ½áÊø£¬¶ø²»ÊÇÔÚÓï¾äÖ´ÐÐÍêÁ¢¼´ÊÍ·ÅËùÌí¼ÓµÄËø¡£
¡¡¡¡2£® NOLOCK£º²»Ìí¼Ó¹²ÏíËøºÍÅÅËüËø£¬µ±Õâ¸öÑ¡ÏîÉúЧºó£¬¿ÉÄܶÁµ½Î´Ìá½»¶ÁµÄÊý¾Ý»ò“ÔàÊý¾Ý”£¬Õâ¸öÑ¡Ïî½ö½öÓ¦ÓÃÓÚSELECTÓï¾ä¡£
¡¡¡¡3£® PAGLOCK£ºÖ¸¶¨Ìí¼ÓÒ³Ëø£¨·ñÔòͨ³£¿ÉÄÜÌí¼Ó±íËø£©¡£¡¡
¡¡¡¡4£® READ
Ïà¹ØÎĵµ£º
UpSert¹¦ÄÜ£º
MERGE <hint> INTO <table_name>
USING <table_view_or_query>
ON (<condition>)
WHEN MATCHED THEN <update_clause>
WHEN NOT MATCHED THEN <insert_clause>;
MultiTable Inserts¹¦ÄÜ£º
Multitable inserts allow a single INSERT INTO .. SELECT statement to ......
sql group by Ó÷¨
2009-07-16 11:01:00 Òµ½ç | ÆÀÂÛ(0) | ä¯ÀÀ(1676)
group byÖ÷ÒªÊÇÓÃÀ´·Ö×éµÄ£¬Ôõô¸ö·Ö×éÄØ£¿
ÒÔÏÂÓÃÁ½¸öÀý×Ó˵Ã÷Á½¸öʹÓ÷½Ã棬1ÊǺÏÀíµÄ·µ»ØºÏ¼ÆÖµ£¨·ÀÖ¹µÑ¿¨¶û»ýÏÖÏ󣩣¬2ÊÇÓ÷Ö×éÀ´ÕÒ³öÖØ¸´µÄ¼Ç¼
============================================================== ......
Oracle SQL PLUS »ù±¾²Ù×÷1
怬
c:\>sqlplus "sys/test1234 as sysdba" ÒÔsysdbaÉí·ÝµÇ¼
c:\>sqlplus/nolog ÒÔnologÉí·ÝµÇ¼
sql> connect sys/test1234 as sysdba
Connected.
Æô¶¯
SQL> startup &nb ......
È¡±íÀïnµ½mÌõ¼Í¼µÄ¼¸ÖÖ·½·¨:
1. Ö»ÐèÒª²éѯǰMÌõÊý¾Ý(0 to M),
1.1 ʹÓà top(M) ·½·¨:
select top(3) * from [tablename]
1.2 ʹÓà set rowcount ·½·¨:
http://msdn.microsoft.com/zh-cn/library/ms188774(SQL.90).aspx
set rowcount M
select * from [tablename]
set rowcount 0
ȨÏÞ ÒªÇó¾ßÓÐ public ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯Ô ......