SQL Server¿ª·¢¹ý³ÌÖеÄÊ®ÖÖ³£¼ûÎÊÌâ×ܽá(2)
SQL Server 2005ÖеĴ洢¹ý³Ì²¢·¢ÎÊÌâ
ÎÒÔÚSQL Server2005ÖÐÓöµ½Á˲¢·¢ÎÊÌâ¡£ÎÒ³ÖÓгµÆ±µÄ¹«¹²Æû³µÉÏÓÐһЩ¿ÕÏеÄ×ùλ¡£ÎÒÔÚ²åÈëÏúÊ۵IJéƱ֮ǰ£¬ÐèÒª²é¿´ÊÇ·ñ»¹ÓпÕÏеÄ×ùλ¡£ÎҵĴ洢¹ý³Ì×öµÄÊÂÇéÈçÏÂËùʾ£º
create PROCEDURE add_ticket — parameters DECLARE free_seats int BEGIN TRANSACTION select free_seats = count(*) from tickets where seat_is_not_taken IF free_seats <> 0 insert INTO tickets VALUES(…) — some other statements END TRANSACTION
ÎÊÌâ¾ÍÊÇÁ½¸ö¹ý³Ì¿ÉÒÔͬʱ¶ÁÈ¡¿ÕÏÐƱÊý£¬²¢ÇÒ¶¼¿ÉÒÔÔ¤Ô¼Ò»ÕÅƱ£¬¼´Ê¹ÊÇÄÇÀïÒѾûÓпÕÓàµÄÁË¡£ÎÒÐèÒªÒ»ÖÖ·½·¨À´·ÀÖ¹Ò»¸ö¹ý³ÌÔÚÁíÒ»¸ö¹ý³ÌÔËÐÐadd_ticket³ÌÐò£¬µ«ÊÇ»¹Ã»ÓвåÈëÒ»ÕÅÐÂƱµÄʱºò¶ÁÈ¡¿ÕƱµÄÊýÁ¿¡£
»Ø´ð£º
ÄãÊÇÕýÈ·µÄ;¸ü¸ßµÄ¸ôÀ뼶±ðÒ²²»»á±£Ö¤¶à¸ö¶ÁÕßȥͬʱȥ¶Áȡͬһ¸öÊý¾ÝÐС£È»¶ø£¬»¹Óм¸ÖÖ·½·¨Äã¿ÉÒÔÍê³ÉÕâÏ×÷¡£ÀýÈ磬Äã¿ÉÒÔ¸øÿ¸ö×ùλ·ÖÅäÒ»¸öΩһµÄ±êʶ·û(Òâ˼ÊÇ£¬Î©Ò»¼ü——²»Ò»¶¨ÊÇGUID)£¬²¢ÇÒ´´½¨Ò»¸öÃèÊöÄÄЩ×ùλÒѾ±»Ô¤¶©ÁËµÄ±í¡£ÔÚ±íÉÏ·ÅÒ»¸ö UNIQUEÔ¼Êø£¬Äã¾Í¿ÉÒÔÈ·±£Í¬Ò»¸ö×ùλ²»»á±»²åÈëÁ½´ÎÁË¡£
¾ÍÊÇ˵£¬ÎÒÈÏΪһ¸ö¸üÓÐȤµÄ·½·¨¾ÍÊÇʹÓÃSQL Service Broker¡£Äã¿ÉÒÔΪÿ¸ö¹«½»½¨Á¢Ò»¸ö»á»°£¬²¢ÇÒ½«Õâ¸ö»á»°µÄ¾ä±ú´æ·ÅÔÚÒ»¸ö±íÖУ¬¶ÁÕßÔÚÖ´ÐÐRECEIVE֮ǰ¿ÉÒԲο¼Õâ¸ö±í¡£Í¨¹ýÕâÖÖ·½Ê½£¬¶ÁÕ߾ͿÉÒÔÕýÈ·µØ¹ýÂË¡£¹«¹²Æû³µÉϵÄÿ¸ö×ùλ¶¼²åÒ»¸öÏûÏ¢µ½¶ÓÁÐÖС£¶ÁÕ߾ͿÉÒÔ¼òµ¥µØRECEIVEµ½ËùÐèµÄÏûÏ¢(ÔÚÕâ¸ö¹ý³ÌÖУ¬Ô¤¶¨¹«¹²Æû³µÉϵÄ×ùλ)¡£ Service Broker»áÈ·±£Ã»ÓÐÏûÏ¢»á±»½ÓÊÜÁ½´Î£¬Ò²¾ÍÊÇ˵Äã²»»áÔÙÓöµ½²¢·¢ÎÊÌâÁË¡£
SQL Server 2005ÖÐÈ¡´úÁ˲éѯ·ÖÎöÆ÷
»Ø´ð:
ÄãÊǶԵġ£²éѯ·ÖÎöÆ÷ºÍÆóÒµ¹ÜÀíÆ÷¶¼´ÓSQL ServerÖÐɾ³ýÁË¡£È¡´úËüÃǵÄÊÇÒ»¸ö¹¤¾ß£¬SQL Server ¹ÜÀíÌ×¼þ(SQL Server Management Studio)¡£Õâ¸ö¹¤¾ß¾ßÓÐÇ°ÈεĴó¶àÊýÌØÐÔ£¬µ«ÊÇÓµÓÐÉý¼¶ºóµÄÓû§½çÃæºÍºÜ¶à¾¹ý¸ÄÉƵŦÄÜ¡£ÎÒ¾õµÃ´ó¶àÊýµÄÊý¾Ý¿â¹ÜÀíÔ±¶¼»á·¢ÏÖÕâÊÇÒ»¸öºÜºÃµÄÉý¼¶¡£
Èç¹ûÄãÏëÒªÁ˽â¸ü¶àÓйØSQL Server¹ÜÀíÌ×¼þµÄÐÂÌØÐÔµÄÐÅÏ¢£¬ÇëÔĶÁSearchSQLServer.com ÉÏÓйØÕâ¸ö»°ÌâµÄÎÄÕ¡£
SQL vs. T-SQL
»Ø´ð:
SQLÊǽṹ»¯²éѯÓïÑÔ£¬ÊÇANSI/ISO ÈϿɵıê×¼Êý¾Ý¿âÓïÑÔ¡£SQL ServerµÄʵÏÖÓïÑÔ½Ð×öTransact-SQL (T-SQL)¡£T-SQL»ù±¾ÉÏÊǸù¾Ý1992Äê·¢±íµÄISO±ê×¼³öÏֵģ¬ÔÚ1999ÄêµÄ±ê×¼ÉÏÉÔ¼ÓÐ޸ġ£´ËÍ⣬΢Èí»¹½øÐÐÁ˸÷ÖÖ
Ïà¹ØÎĵµ£º
ÔÚÎÒÃÇ×öÊý¾Ý¿â³ÌÐò¿ª·¢µÄʱºò£¬¾³£»áÓöµ½ÕâÖÖÇé¿ö£ºÐèÒª½«Ò»¸öÊý¾Ý¿â·þÎñÆ÷ÖеÄÊý¾Ýµ¼Èëµ½ÁíÒ»¸öÊý¾Ý¿â·þÎñÆ÷µÄ±íÖС£Í¨³£ÎÒÃÇ»áʹÓÃÕâÖÖ·½·¨£ºÏÈ°ÑÒ»¸öÊý¾Ý¿âÖеÄÊý¾ÝÈ¡³öÀ´·Åµ½Ä³³ö£¬È»ºóÔÙ°ÑÕâЩÊý¾ÝÒ»ÌõÌõ²åÈ뵽ĿµÄÊý¾Ý¿âÖУ¬ÕâÖÖ·½·¨Ð§Âʽϵͣ¬Ð´Æð³ÌÐòÀ´Ò²ºÜ·±Ëö£¬ÈÝÒ׳ö´í¡£ÁíÍâÒ»ÖÖ·½·¨ÊÇʹÓÃbcp»òBULK IN ......
Ó¦ÓÃʾÀý£º
-- ´´½¨2¸ö²âÊÔ±í
CREATE TABLE [dbo].[Table_2019]([Data] [nchar](2019) NOT NULL)
CREATE TABLE [dbo].[Table_2020]([Data] [nchar](2020) NOT NULL)
go
-- Ìî³äÊý¾Ý
declare @i int
set @i = 0
while(@i < 20)
begin
insert Table_2019(Data) values('')
  ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Ä㶼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâƪÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......
ÕÛÌÚÁËÎÒ°ëÌìÖÕÓڸ㶨ÁË
²Î¿¼ÁËÕâ¸öÎÄÕ£ºhttp://doc.javanb.com/hibernate-reference-3-2-0-zh/ch16.html
final static String querySql = "select {enterprise.*}, {dict.*} ,{balancd.*}, {weightinfo.*} "
+ "from weight_info weightinfo left outer join t_dict dict on {weightinf ......
1. Nested Loop Join(ǶÌ×Ñ»·Áª½á)
Ëã·¨£º
Æä˼·Ï൱µÄ¼òµ¥ºÍÖ±½Ó£º¶ÔÓÚ¹ØϵRµÄÿ¸öÔª×é r ½«ÆäÓë¹ØϵSµÄÿ¸öÔª×é s ÔÚJOINÌõ¼þµÄ×Ö¶ÎÉÏÖ±½Ó±È½Ï²¢É¸Ñ¡³ö·ûºÏÌõ¼þµÄÔª×顣д³Éα´úÂë¾ÍÊÇ£º
´ú¼Û£º
±»Áª½áµÄ±íËù´¦ÄÚ²ã»òÍâ²ãµÄ˳Ðò¶Ô´ÅÅÌI/O¿ªÏúÓÐ×ŷdz£ÖØÒªµÄÓ°Ïì¡£¶øCPU¿ªÏúÏà¶ÔÀ´ËµÓ°Ïì½ÏС£¬Ö÷ÒªÊÇÔª×é¶ÁÈ ......