SQL Server´æ´¢¹ý³Ì
Ê×ÏȽéÉÜÒ»ÏÂʲôÊÇ´æ´¢¹ý³Ì£º´æ´¢¹ý³Ì¾ÍÊǽ«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´£¬²¢ÇÒÕâÑùµÄÓï¾äÊÇ·ÅÔÚÊý¾Ý¿âÖе쬻¹¿ÉÒÔ¸ù¾ÝÌõ¼þÖ´Ðв»Í¬SQLÓï¾ä£¬ ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ£¬Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî¡£
¡¡¡¡Çë´ó¼ÒÀ´Á˽âһϴ洢¹ý³ÌµÄÓï·¨¡£
¡¡¡¡CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
¡¡¡¡[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
¡¡¡¡[ FOR REPLICATION ]
¡¡¡¡AS sql_statement [ ...n ]
¡¡¡¡²ÎÊý£º
¡¡¡¡procedure_name
¡¡¡¡Ð´洢¹ý³ÌµÄÃû³Æ¡£¹ý³ÌÃû±ØÐë·ûºÏ±êʶ·û¹æÔò£¬ÇÒ¶ÔÓÚÊý¾Ý¿â¼°ÆäËùÓÐÕß±ØÐëΨһ¡£
¡¡¡¡Òª´´½¨¾Ö²¿ÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÒ»¸ö±àºÅ·û (#procedure_name)£¬Òª´´½¨È«¾ÖÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÁ½¸ö±àºÅ·û (##procedure_name)¡£ÍêÕûµÄÃû³Æ£¨°üÀ¨ # »ò ##£©²»Äܳ¬¹ý 128 ¸ö×Ö·û¡£Ö¸¶¨¹ý³ÌËùÓÐÕßµÄÃû³ÆÊÇ¿ÉÑ¡µÄ¡£
¡¡¡¡;number
¡¡¡¡ÊÇ¿ÉÑ¡µÄÕûÊý£¬ÓÃÀ´¶ÔͬÃûµÄ¹ý³Ì·Ö×飬ÒÔ±ãÓÃÒ»Ìõ DROP PROCEDURE Óï¾ä¼´¿É½«Í¬×éµÄ¹ý³ÌÒ»Æð³ýÈ¥¡£ÀýÈ磬ÃûΪ orders µÄÓ¦ÓóÌÐòʹÓõĹý³Ì¿ÉÒÔÃüÃûΪ orderproc;1¡¢orderproc;2 µÈ¡£DROP PROCEDURE orderproc Óï¾ä½«³ýÈ¥Õû¸ö×é¡£Èç¹ûÃû³ÆÖаüº¬¶¨½ç±êʶ·û£¬ÔòÊý×Ö²»Ó¦°üº¬ÔÚ±êʶ·ûÖУ¬Ö»Ó¦ÔÚ procedure_name ǰºóʹÓÃÊʵ±µÄ¶¨½ç·û¡£
¡¡¡¡@parameter
¡¡¡¡¹ý³ÌÖеIJÎÊý¡£ÔÚ CREATE PROCEDURE Óï¾äÖпÉÒÔÉùÃ÷Ò»¸ö»ò¶à¸ö²ÎÊý¡£Óû§±ØÐëÔÚÖ´Ðйý³ÌʱÌṩÿ¸öËùÉùÃ÷²ÎÊýµÄÖµ£¨³ý·Ç¶¨ÒåÁ˸òÎÊýµÄĬÈÏÖµ£©¡£´æ´¢¹ý³Ì×î¶à¿ÉÒÔÓÐ 2100 ¸ö²ÎÊý¡£
¡¡¡¡Ê¹ÓÃ@·ûºÅ×÷ΪµÚÒ»¸ö×Ö·ûÀ´Ö¸¶¨²ÎÊýÃû³Æ¡£²ÎÊýÃû³Æ±ØÐë·ûºÏ±êʶ·ûµÄ¹æÔò¡£Ã¿¸ö¹ý³ÌµÄ²ÎÊý½öÓÃÓڸùý³Ì±¾Éí£»ÏàͬµÄ²ÎÊýÃû³Æ¿ÉÒÔÓÃÔÚÆäËü¹ý³ÌÖС£Ä¬ÈÏÇé¿öÏ£¬²ÎÊýÖ»ÄÜ´úÌæ³£Á¿£¬¶ø²»ÄÜÓÃÓÚ´úÌæ±íÃû¡¢ÁÐÃû»òÆäËüÊý¾Ý¿â¶ÔÏóµÄÃû³Æ¡£
¡¡¡¡data_type
¡¡¡¡²ÎÊýµÄÊý¾ÝÀàÐÍ¡£ËùÓÐÊý¾ÝÀàÐÍ£¨°üÀ¨ text¡¢ntext ºÍ image£©¾ù¿ÉÒÔÓÃ×÷´æ´¢¹ý³ÌµÄ²ÎÊý¡£²»¹ý£¬cursor Êý¾ÝÀàÐÍÖ»ÄÜÓÃÓÚ OUTPUT ²ÎÊý¡£Èç¹ûÖ¸¶¨µÄÊý¾ÝÀàÐÍΪ cursor£¬Ò²±ØÐëͬʱָ¶¨ VARYING ºÍ OUTPUT ¹Ø¼ü×Ö¡£
¡¡¡¡ËµÃ÷£º¶ÔÓÚ¿ÉÒÔÊÇcursor
Ïà¹ØÎĵµ£º
ÉÏ»ØÎÒÃÇ˵µ½ÆÀ¹ÀÒ»ÌõÓï¾äÖ´ÐÐЧÂÊÖ÷Òª¿´Âß¼ IO £¨É¶ÊÇÂß¼ IO £¬É¶ÊÇÎïÀí IO ¼ûÁª»úÎĵµ£©£¬Õâ´ÎÎÒÃǼÌÐø¡£
ÎÒÃÇÏÈ˵˵£¬·µ»Ø¶àÐнá¹ûʱ£¬ÎªÊ²Ã´ SQLServer ÓÐʱ»áÑ¡Ôñ index seek £¬ÓÐʱ»áÑ¡Ôñ index scan ¡£
ÒÔ nonclustered index ΪÀý˵Ã÷¡£
ÏñËùÓеÄË÷Òý B Ê÷Ò»Ñù£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Ò²°üÀ¨ÍêÈ«ÓÉË÷ÒýÊý¾Ý×é³ÉµÄ¸ù½ ......
´óÐÍϵͳµÄÉú²ú»·¾³£¬Ò»°ãÇé¿öÏ£¬ÎÒÃÇÆÀ¼ÛÒ»Ìõ²éѯÊÇ·ñÓÐЧÂÊ£¬¸ü¶àµÄÊǹØ×¢Âß¼ IO( ÖÁÓÚΪʲô£¬»ØÍ·²¹Ò»Æª ) ¡£ÎÒÃdz£Ëµ£¬“Òª½¨±ëº·µÄË÷Òý”¡¢“Ҫд¸ßЧµÄ SQL ”£¬Æäʵ×îÖÕÄ¿µÄ¾ÍÊÇÔÚÏàͬ½á¹û¼¯Çé¿öÏ£¬¾¡¿ÉÄܼõÉÙÂß¼ IO ¡£
1.1 where Ìõ¼þµÄÁÐÉ϶¼µÃÓÐͳ¼ÆÐÅ ......
-- sql 2005
1.rownumÓ÷¨
select * from(
Select rownum=row_number() over(order by 1),* from table
)a where rownum between  ......
1¡¢´´½¨°²×°ÏîÄ¿“Setup1”°²×°ÏîÄ¿
ÔÚ“Îļþ”²Ëµ¥ÉÏÖ¸Ïò“Ìí¼ÓÏîÄ¿”£¬È»ºóÑ¡Ôñ“н¨ÏîÄ¿”¡£
ÔÚ“Ìí¼ÓÐÂÏîÄ¿”¶Ô»°¿òÖУ¬Ñ¡Ôñ“ÏîÄ¿ÀàÐÍ”´°¸ñÖеē°²×°ºÍ²¿ÊðÏîÄ¿”£¬È»ºóÑ¡Ôñ“Ä£°å”´°¸ñÖеē°²×°ÏîÄ¿”¡£ÔÚ&ldquo ......