1¡¢ Ê×ÏÈÒª¸ãÃ÷°×ʲô½ÐÖ´Ðмƻ®£¿
Ö´Ðмƻ®ÊÇÊý¾Ý¿â¸ù¾ÝSQLÓï¾äºÍÏà¹Ø±íµÄͳ¼ÆÐÅÏ¢×÷³öµÄÒ»¸ö²éѯ·½°¸£¬Õâ¸ö·½°¸ÊÇÓɲéѯÓÅ»¯Æ÷×Ô¶¯·ÖÎö²úÉúµÄ£¬±ÈÈçÒ»ÌõSQLÓï¾äÈç¹ûÓÃÀ´´ÓÒ»¸ö
10ÍòÌõ¼Ç¼µÄ±íÖвé1Ìõ¼Ç¼£¬ÄDzéѯÓÅ»¯Æ÷»áÑ¡Ôñ¡°Ë÷Òý²éÕÒ¡±·½Ê½£¬Èç¹û¸Ã±í½øÐÐÁ˹鵵£¬µ±Ç°Ö»Ê£ÏÂ5000Ìõ¼Ç¼ÁË£¬ÄDzéѯÓÅ»¯Æ÷¾Í»á¸Ä±ä·½°¸£¬²ÉÓÃ
¡°È«±íɨÃ衱·½Ê½¡£
¿É¼û£¬Ö´Ðмƻ®²¢²»Êǹ̶¨µÄ£¬ËüÊÇ¡°¸öÐÔ»¯µÄ¡±¡£²úÉúÒ»¸öÕýÈ·µÄ¡°Ö´Ðмƻ®¡±ÓÐÁ½µãºÜÖØÒª£º
(1) SQLÓï¾äÊÇ·ñÇåÎúµØ¸æËß²éѯÓÅ»¯Æ÷ËüÏë¸Éʲô£¿
(2) ²éѯÓÅ»¯Æ÷µÃµ½µÄÊý¾Ý¿âͳ¼ÆÐÅÏ¢ÊÇ·ñÊÇ×îеġ¢ÕýÈ·µÄ£¿
2¡¢ ͳһSQLÓï¾äµÄд·¨
¶ÔÓÚÒÔÏÂÁ½¾äSQLÓï¾ä£¬³ÌÐòÔ±ÈÏΪÊÇÏàͬµÄ£¬Êý¾Ý¿â²éѯÓÅ»¯Æ÷ÈÏΪÊDz»Í¬µÄ¡£
select*from dual
select*From dual
Æäʵ¾ÍÊÇ´óСд²»Í¬£¬²éѯ·ÖÎöÆ÷¾ÍÈÏΪÊÇÁ½¾ä²»Í¬µÄSQLÓï¾ä£¬±ØÐë½øÐÐÁ½´Î½âÎö¡£Éú³É2¸öÖ´Ðмƻ®¡£ËùÒÔ×÷Ϊ³ÌÐòÔ±£¬Ó¦¸Ã±£Ö¤ÏàͬµÄ²éѯÓï¾äÔÚÈκεط½¶¼Ò»Ö£¬¶àÒ»¸ö¿Õ¸ñ¶¼²»ÐУ¡
3¡¢ ²»Òª°ÑSQLÓï¾äдµÃÌ«¸´ÔÓ
ÎÒ¾³£¿´µ½£¬´ÓÊý¾Ý¿âÖв¶×½µ½µÄÒ»ÌõSQLÓï¾ä´òÓ¡³öÀ´ÓÐ2ÕÅA4Ö½Õâô³¤¡£Ò»°ãÀ´ËµÕâô¸´ÔÓµÄÓï¾äͨ³£¶¼ÊÇÓÐÎÊÌâµÄ¡£ÎÒÄÃ×ÅÕâ2Ò³³¤µÄSQLÓï¾äÈ¥Çë½ÌÔ×÷Õߣ¬½á¹ûËû˵ʱ¼äÌ«³¤£¬ËûһʱҲ¿´²»¶®ÁË¡£¿ÉÏë¶øÖª£¬Á¬Ô×÷Õß¶¼ÓпÉÄÜ¿´ºýÍ¿µÄSQLÓï¾ä£¬Êý¾Ý¿âÒ²Ò»Ñù»á¿´ºýÍ¿¡£
Ò»°ã£¬½«Ò»¸öSelectÓï¾äµÄ½á¹û×÷Ϊ×Ó¼¯£¬È»ºó´Ó¸Ã×Ó¼¯ÖÐÔÙ½øÐвéѯ£¬ÕâÖÖÒ»²ãǶÌ×Óï¾ä»¹ÊDZȽϳ£¼ûµÄ£¬µ«ÊǸù¾Ý¾Ñ飬³¬¹ý3²ãǶÌ×£¬²éѯÓÅ»¯Æ÷¾ÍºÜÈÝÒ׸ø³ö´íÎóµÄÖ´Ðмƻ®¡£ÒòΪËü±»ÈÆÔÎÁË¡£ÏñÕâÖÖÀàËÆÈ˹¤ÖÇÄܵĶ«Î÷£¬ÖÕ¾¿±ÈÈ˵ķֱæÁ¦Òª²îЩ£¬Èç¹ûÈ˶¼¿´ÔÎÁË£¬ÎÒ¿ÉÒÔ±£Ö¤Êý¾Ý¿âÒ²»áÔεġ£
ÁíÍ⣬ִÐмƻ®ÊÇ¿ÉÒÔ±»ÖØÓõģ¬Ô½¼òµ¥µÄSQLÓï¾ä±»ÖØÓõĿÉÄÜÐÔÔ½¸ß¡£¶ø¸´ÔÓµÄSQLÓï¾äÖ»ÒªÓÐÒ»¸ö×Ö·û·¢Éú±ä»¯¾Í±ØÐëÖØÐ½âÎö£¬È»ºóÔÙ°ÑÕâÒ»´ó¶ÑÀ¬»øÈûÔÚÄÚ´æÀï¡£¿ÉÏë¶øÖª£¬Êý¾Ý¿âµÄЧÂÊ»áºÎµÈµÍÏ¡£
4¡¢ ʹÓá°ÁÙʱ±í¡±ÔÝ´æÖмä½á¹û
¼ò»¯SQLÓï¾äµÄÖØÒª·½·¨¾ÍÊDzÉÓÃÁÙʱ±íÔÝ´æÖмä½á¹û£¬µ«ÊÇ£¬ÁÙʱ±íµÄºÃ´¦Ô¶Ô¶²»Ö¹ÕâЩ£¬½«ÁÙʱ½á¹ûÔÝ´æÔÚÁÙʱ±í£¬ºóÃæµÄ²éѯ¾ÍÔÚtempdbÖÐÁË£¬Õâ¿ÉÒÔ±ÜÃâ³ÌÐòÖжà´ÎɨÃèÖ÷±í£¬Ò²´ó´ó¼õÉÙÁ˳ÌÐòÖ´ÐÐÖС°¹²ÏíËø¡±×èÈû¡°¸üÐÂËø¡±£¬¼õÉÙÁË×èÈû£¬Ìá¸ßÁ˲¢·¢ÐÔÄÜ¡£
5¡¢ OLTPϵͳSQLÓï¾ä±ØÐë²ÉÓð󶨱äÁ¿
select*from orderheader where changetime >'2010-10-20
00:00:01'
select*from orderheader where changetime >'2010-09-22
00:00:01'
ÒÔÉÏÁ½¾äÓï¾ä£¬²éѯÓÅ»¯Æ÷ÈÏΪÊDz»Í¬µÄSQLÓï¾ä£¬ÐèÒª½âÎöÁ½´Î¡£Èç¹û²ÉÓð󶨱äÁ¿
select*from orderheader where changetime >@chgtime
@chgtime±äÁ¿¿ÉÒÔ´«ÈëÈκÎÖµ£¬ÕâÑù´óÁ¿µÄÀàËÆ²éѯ¿ÉÒÔÖØÓøÃÖ´Ðмƻ®ÁË£¬Õâ¿ÉÒÔ´ó´ó½µµÍÊý¾Ý¿â½âÎöSQLÓï¾äµÄ¸ºµ£¡£Ò»´Î½âÎö£¬¶à´ÎÖØÓã¬ÊÇÌá¸ßÊý¾Ý¿âЧÂʵÄÔÔò¡£
6¡¢ °ó¶¨±äÁ¿¿ú²â
ÊÂÎï¶¼´æÔÚÁ½ÃæÐÔ£¬°ó¶¨±äÁ¿¶Ô´ó¶àÊýOLTP´¦ÀíÊÇÊÊÓõ쬵«ÊÇÒ²ÓÐÀýÍâ¡£±ÈÈçÔÚwhereÌõ¼þÖеÄ×Ö¶ÎÊÇ¡°Çãб×ֶΡ±µÄʱºò¡£
¡°Çãб×ֶΡ±Ö¸¸ÃÁÐÖеľø´ó¶àÊýµÄÖµ¶¼ÊÇÏàͬµÄ£¬±ÈÈçÒ»ÕÅÈ˿ڵ÷²é±í£¬ÆäÖС°Ãñ×塱ÕâÁУ¬90%ÒÔÉ϶¼ÊǺº×å¡£ÄÇôÈç¹ûÒ»¸öSQLÓï¾äÒª²éѯ30ËêµÄºº×åÈË¿ÚÓжàÉÙ£¬ÄÇ¡°Ãñ×塱ÕâÁбØÈ»Òª±»·ÅÔÚwhereÌõ¼þÖС£Õâ¸öʱºòÈç¹û²ÉÓð󶨱äÁ¿@nation»á´æÔںܴóÎÊÌâ¡£
ÊÔÏëÈç¹û@nation´«ÈëµÄµÚÒ»¸öÖµÊÇ¡°ºº×塱£¬ÄÇÕû¸öÖ´Ðмƻ®±ØÈ»»áÑ¡Ôñ±íɨÃ衣Ȼºó£¬µÚ¶þ¸öÖµ´«ÈëµÄÊÇ¡°²¼ÒÀ×塱£¬°´Àí˵¡°²¼ÒÀ×塱ռµÄ±ÈÀý¿ÉÄÜÖ»ÓÐÍò·ÖÖ®Ò»£¬Ó¦¸Ã²ÉÓÃË÷Òý²éÕÒ¡£µ«ÊÇ£¬ÓÉÓÚÖØÓÃÁ˵ÚÒ»´Î½âÎöµÄ¡°ºº×塱µÄÄǸöÖ´Ðмƻ®£¬ÄÇôµÚ¶þ´ÎÒ²½«²ÉÓñíɨÃ跽ʽ¡£Õâ¸öÎÊÌâ¾ÍÊÇÖøÃûµÄ¡°°ó¶¨±äÁ¿¿ú²â¡±£¬½¨Òé¶ÔÓÚ¡°Çãб×ֶΡ±²»Òª²ÉÓð󶨱äÁ¿¡£
7¡¢ Ö»ÔÚ±ØÒªµÄÇé¿öϲÅʹÓÃbegin tran
SQL ServerÖÐÒ»¾äSQLÓï¾äĬÈϾÍÊÇÒ»¸öÊÂÎñ£¬ÔÚ¸ÃÓï¾äÖ´ÐÐÍê³ÉºóÒ²ÊÇĬÈÏcommitµÄ¡£Æäʵ£¬Õâ¾ÍÊÇbegin
tranµÄÒ»¸ö×îС»¯µÄÐÎʽ£¬ºÃ±ÈÔÚÿ¾äÓï¾ä¿ªÍ·Òþº¬ÁËÒ»¸öbegin tran£¬½áÊøÊ±Òþº¬ÁËÒ»¸öcommit¡£
ÓÐЩÇé¿öÏ£¬ÎÒÃÇÐèÒªÏÔʽÉùÃ÷begin tran£¬±ÈÈç×ö¡°²å¡¢É¾¡¢¸Ä¡±²Ù×÷ÐèҪͬʱÐ޸ö±í£¬ÒªÇóҪô¼¸¸ö±í¶¼Ð޸ijɹ¦£¬ÒªÃ´¶¼²»³É¹¦¡£begin
tran ¿ÉÒÔÆðµ½ÕâÑùµÄ×÷Óã¬Ëü¿ÉÒÔ°ÑÈô¸ÉSQLÓï¾äÌ×ÔÚÒ»ÆðÖ´ÐУ¬×îºóÔÙÒ»Æðcommit¡£ºÃ´¦ÊDZ£Ö¤ÁËÊý¾ÝµÄÒ»ÖÂÐÔ£¬µ«ÈκÎÊÂÇé¶¼²»ÊÇÍêÃÀÎÞȱµÄ¡£Begin
tran¸¶³öµÄ´ú¼ÛÊÇÔÚÌύ֮ǰ£¬ËùÓÐSQLÓï¾äËø×¡µÄ×ÊÔ´¶¼²»ÄÜÊÍ·Å£¬Ö±µ½commitµô¡£
¿É¼û£¬Èç¹ûBegin tranÌ×סµÄSQLÓï¾äÌ«¶à£¬ÄÇÊý¾Ý¿âµÄÐÔÄܾÍÔã¸âÁË¡£ÔڸôóÊÂÎñÌύ֮ǰ£¬±ØÈ»»á×èÈû±ðµÄÓï¾ä£¬Ôì³ÉblockºÜ¶à¡£
Begin tranʹÓõÄÔÔòÊÇ£¬ÔÚ±£Ö¤Êý¾ÝÒ»ÖÂÐÔµÄǰÌáÏ£¬begin tran Ì×סµÄSQLÓï¾äÔ½ÉÙÔ½ºÃ£¡ÓÐЩÇé¿öÏ¿ÉÒÔ²ÉÓô¥·¢Æ÷ͬ²½Êý¾Ý£¬²»Ò»¶¨ÒªÓÃbegin
tran¡£
8¡¢ һЩSQL²éѯÓï¾äÓ¦¼ÓÉÏnolock
ÔÚSQLÓï¾äÖмÓnolockÊÇÌá¸ßSQL Server²¢·¢ÐÔÄܵÄÖØÒªÊֶΣ¬ÔÚoracleÖв¢²»ÐèÒªÕâÑù×ö£¬ÒòΪoracleµÄ½á¹¹¸üΪºÏÀí£¬ÓÐundo±í¿Õ¼ä±£´æ¡°Êý¾ÝǰӰ¡±£¬¸ÃÊý¾ÝÈç¹ûÔÚÐÞ¸ÄÖл¹Î´commit£¬ÄÇôÄã¶Áµ½µÄÊÇËüÐÞ¸Ä֮ǰµÄ¸±±¾£¬¸Ã¸±±¾·ÅÔÚundo±í¿Õ¼äÖС£ÕâÑù£¬oracleµÄ¶Á¡¢Ð´¿ÉÒÔ×öµ½»¥²»Ó°Ï죬ÕâÒ²ÊÇoracle
¹ãÊܳÆÔ޵ĵط½¡£SQL Server µÄ¶Á¡¢Ð´ÊÇ»áÏ໥×èÈûµÄ£¬ÎªÁËÌá¸ß²¢·¢ÐÔÄÜ£¬¶ÔÓÚһЩ²éѯ£¬¿ÉÒÔ¼ÓÉÏnolock£¬ÕâÑù¶ÁµÄʱºò¿ÉÒÔÔÊÐíд£¬µ«È±µãÊÇ¿ÉÄܶÁµ½Î´Ìá½»µÄÔàÊý¾Ý¡£Ê¹ÓÃ
nolockÓÐ3ÌõÔÔò¡£
(1) ²éѯµÄ½á¹ûÓÃÓÚ¡°²å¡¢É¾¡¢¸Ä¡±µÄ²»ÄܼÓnolock £¡
(2) ²éѯµÄ±íÊôÓÚÆµ·±·¢ÉúÒ³·ÖÁѵģ¬É÷ÓÃnolock £¡
(3) ʹÓÃÁÙʱ±íÒ»Ñù¿ÉÒÔ±£´æ¡°Êý¾ÝǰӰ¡±£¬Æðµ½ÀàËÆoracleµÄundo±í¿Õ¼äµÄ¹¦ÄÜ£¬
ÄܲÉÓÃÁÙʱ±íÌá¸ß²¢·¢ÐÔÄܵ쬲»ÒªÓÃnolock ¡£
9¡¢ ¾Û¼¯Ë÷ÒýûÓн¨ÔÚ±íµÄ˳Ðò×Ö¶ÎÉÏ£¬¸Ã±íÈÝÒ×·¢ÉúÒ³·ÖÁÑ
±ÈÈç¶©µ¥±í£¬Óж©µ¥±àºÅorderid£¬Ò²Óпͻ§±àºÅcontactid£¬ÄÇô¾Û¼¯Ë÷ÒýÓ¦¸Ã¼ÓÔÚÄĸö×Ö¶ÎÉÏÄØ£¿¶ÔÓÚ¸Ã±í£¬¶©µ¥±àºÅÊÇ˳ÐòÌí¼ÓµÄ£¬Èç¹ûÔÚorderidÉϼӾۼ¯Ë÷Òý£¬ÐÂÔöµÄÐж¼ÊÇÌí¼ÓÔÚĩ⣬ÕâÑù²»ÈÝÒ×¾³£²úÉúÒ³·ÖÁÑ¡£È»¶ø£¬ÓÉÓÚ´ó¶àÊý²éѯ¶¼ÊǸù¾Ý¿Í»§±àºÅÀ´²éµÄ£¬Òò´Ë£¬½«¾Û¼¯Ë÷Òý¼ÓÔÚcontactidÉϲÅÓÐÒâÒå¡£¶øcontactid¶ÔÓÚ¶©µ¥±í¶øÑÔ£¬²¢·Ç˳Ðò×ֶΡ£
±ÈÈç¡°ÕÅÈý¡±µÄ¡°contactid¡±ÊÇ001£¬ÄÇô¡°ÕÅÈý¡±µÄ¶©µ¥ÐÅÏ¢±ØÐë¶¼·ÅÔÚÕâÕűíµÄµÚÒ»¸öÊý¾ÝÒ³ÉÏ£¬Èç¹û½ñÌì¡°ÕÅÈý¡±ÐÂÏÂÁËÒ»¸ö¶©µ¥£¬ÄǸö©µ¥ÐÅÏ¢²»ÄÜ·ÅÔÚ±íµÄ×îºóÒ»Ò³£¬¶øÊǵÚÒ»Ò³£¡Èç¹ûµÚÒ»Ò³·ÅÂúÁËÄØ£¿ºÜ±§Ç¸£¬¸Ã±íËùÓÐÊý¾Ý¶¼ÒªÍùºóÒÆ¶¯ÎªÕâÌõ¼Ç¼Ìڵط½¡£
SQL ServerµÄË÷ÒýºÍOracleµÄË÷ÒýÊDz»Í¬µÄ£¬SQL ServerµÄ¾Û¼¯Ë÷Òýʵ¼ÊÉÏÊÇ¶Ô±í°´ÕÕ¾Û¼¯Ë÷Òý×ֶεÄ˳Ðò½øÐÐÁËÅÅÐò£¬Ï൱ÓÚoracleµÄË÷Òý×éÖ¯±í¡£SQL
ServerµÄ¾Û¼¯Ë÷Òý¾ÍÊÇ±í±¾ÉíµÄÒ»ÖÖ×éÖ¯ÐÎʽ£¬ËùÒÔËüµÄЧÂÊÊǷdz£¸ßµÄ¡£Ò²ÕýÒòΪ´Ë£¬²åÈëÒ»Ìõ¼Ç¼£¬ËüµÄλÖò»ÊÇËæ±ã·ÅµÄ£¬¶øÊÇÒª°´ÕÕ˳Ðò·ÅÔڸ÷ŵÄÊý¾ÝÒ³£¬Èç¹ûÄǸöÊý¾ÝҳûÓпռäÁË£¬¾ÍÒýÆðÁËÒ³·ÖÁÑ¡£ËùÒÔºÜÏÔÈ»£¬¾Û¼¯Ë÷ÒýûÓн¨ÔÚ±íµÄ˳Ðò×Ö¶ÎÉÏ£¬¸Ã±íÈÝÒ×·¢ÉúÒ³·ÖÁÑ¡£
Ôø¾Åöµ½¹ýÒ»¸öÇé¿ö£¬Ò»Î»¸çÃǵÄijÕűíÖØ½¨Ë÷Òýºó£¬²åÈëµÄЧÂÊ´ó·ùϽµÁË¡£¹À¼ÆÇé¿ö´ó¸ÅÊÇÕâÑùµÄ¡£¸Ã±íµÄ¾Û¼¯Ë÷Òý¿ÉÄÜûÓн¨ÔÚ±íµÄ˳Ðò×Ö¶ÎÉÏ£¬¸Ã±í¾³£±»¹éµµ£¬ËùÒԸñíµÄÊý¾ÝÊÇÒÔÒ»ÖÖÏ¡Êè״̬´æÔڵġ£±ÈÈçÕÅÈýϹý20ÕŶ©µ¥£¬¶ø×î½ü3¸öÔµĶ©µ¥Ö»ÓÐ5ÕÅ£¬¹éµµ²ßÂÔÊDZ£Áô3¸öÔÂÊý¾Ý£¬ÄÇôÕÅÈý¹ýÈ¥µÄ
15ÕŶ©µ¥ÒѾ±»¹éµµ£¬ÁôÏÂ15¸ö¿Õ룬¿ÉÒÔÔÚinsert·¢ÉúÊ±ÖØÐ±»ÀûÓá£ÔÚÕâÖÖÇé¿öÏÂÓÉÓÚÓпÕλ¿ÉÒÔÀûÓ㬾Ͳ»»á·¢ÉúÒ³·ÖÁÑ¡£µ«ÊDzéѯÐÔÄÜ»á±È½ÏµÍ£¬ÒòΪ²éѯʱ±ØÐëɨÃèÄÇЩûÓÐÊý¾ÝµÄ¿Õλ¡£
ÖØ½¨¾Û¼¯Ë÷ÒýºóÇé¿ö¸Ä±äÁË£¬ÒòÎªÖØ½¨¾Û¼¯Ë÷Òý¾ÍÊǰѱíÖеÄÊý¾ÝÖØÐÂÅÅÁÐÒ»±é£¬ÔÀ´µÄ¿ÕλûÓÐÁË£¬¶øÒ³µÄÌî³äÂÊÓֺܸߣ¬²åÈëÊý¾Ý¾³£Òª·¢ÉúÒ³·ÖÁÑ£¬ËùÒÔÐÔÄÜ´ó·ùϽµ¡£
¶ÔÓÚ¾Û¼¯Ë÷ÒýûÓн¨ÔÚ˳Ðò×Ö¶ÎÉÏµÄ±í£¬ÊÇ·ñÒª¸øÓë±È½ÏµÍµÄÒ³Ìî³äÂÊ£¿ÊÇ·ñÒª±ÜÃâÖØ½¨¾Û¼¯Ë÷Òý£¿ÊÇÒ»¸öÖµµÃ¿¼ÂǵÄÎÊÌ⣡
10¡¢¼Ónolockºó²éѯ¾³£·¢ÉúÒ³·ÖÁÑµÄ±í£¬ÈÝÒײúÉúÌø¶Á»òÖØ¸´¶Á
¼Ónolockºó¿ÉÒÔÔÚ¡°²å¡¢É¾¡¢¸Ä¡±µÄͬʱ½øÐвéѯ£¬µ«ÊÇÓÉÓÚͬʱ·¢Éú¡°²å¡¢É¾¡¢¸Ä¡±£¬ÔÚijЩÇé¿öÏ£¬Ò»µ©¸ÃÊý¾ÝÒ³ÂúÁË£¬ÄÇôҳ·ÖÁѲ»¿É±ÜÃ⣬¶ø´ËʱnolockµÄ²éѯÕýÔÚ·¢Éú£¬±ÈÈçÔÚµÚ100Ò³ÒѾ¶Á¹ýµÄ¼Ç¼£¬¿ÉÄÜ»áÒòΪҳ·ÖÁѶø·Öµ½µÚ101Ò³£¬ÕâÓпÉÄÜʹµÃnolock²éѯÔÚ¶Á101Ò³Ê±ÖØ¸´¶Áµ½¸ÃÌõÊý¾Ý£¬²úÉú¡°Öظ´¶Á¡±¡£Í¬Àí£¬Èç¹ûÔÚ100Ò³ÉϵÄÊý¾Ý»¹Ã»±»¶Áµ½¾Í·Öµ½99ҳȥÁË£¬ÄÇnolock²éѯÓпÉÄܻ᩹ý¸Ã¼Ç¼£¬²úÉú¡°Ìø¶Á¡±¡£
ÉÏÃæÌáµ½µÄ¸çÃÇ£¬ÔÚ¼ÓÁËnolockºóһЩ²Ù×÷³öÏÖ±¨´í£¬¹À¼ÆÓпÉÄÜÒòΪnolock²éѯ²úÉúÁËÖØ¸´¶Á£¬2ÌõÏàͬµÄ¼Ç¼ȥ²åÈë±ðµÄ±í£¬µ±È»»á·¢ÉúÖ÷¼ü³åÍ»¡£
11¡¢Ê¹ÓÃlike½øÐÐÄ£ºý²éѯʱӦעÒâ
ÓеÄʱºò»áÐèÒª½øÐÐһЩģºý²éѯ±ÈÈç
select*from contact where username like ¡®%yue%¡¯
¹Ø¼ü´Ê%yue%£¬ÓÉÓÚyueÇ°ÃæÓõ½ÁË¡°%¡±£¬Òò´Ë¸Ã²éѯ±ØÈ»×ßÈ«±íɨÃ裬³ý·Ç±ØÒª£¬·ñÔò²»ÒªÔڹؼü´Êǰ¼Ó%£¬
12¡¢Êý¾ÝÀàÐ͵ÄÒþʽת»»¶Ô²éѯЧÂʵÄÓ°Ïì
sql server2000µÄÊý¾Ý¿â£¬ÎÒÃǵijÌÐòÔÚÌá½»sqlÓï¾äµÄʱºò£¬Ã»ÓÐʹÓÃÇ¿ÀàÐÍÌá½»Õâ¸ö×ֶεÄÖµ£¬ÓÉsql
server 2000×Ô¶¯×ª»»Êý¾ÝÀàÐÍ£¬»áµ¼Ö´«ÈëµÄ²ÎÊýÓëÖ÷¼ü×Ö¶ÎÀàÐͲ»Ò»Ö£¬Õâ¸öʱºòsql server
2000¿ÉÄܾͻáʹÓÃÈ«±íɨÃè¡£Sql2005ÉÏûÓз¢ÏÖÕâÖÖÎÊÌ⣬µ«ÊÇ»¹ÊÇÓ¦¸Ã×¢Òâһϡ£
13¡¢SQL Server ±íÁ¬½ÓµÄÈýÖÖ·½Ê½
(1) Merge Join
(2) Nested Loop Join
(3) Hash Join
SQL Server 2000Ö»ÓÐÒ»ÖÖjoin·½Ê½¡ª¡ªNested Loop Join£¬Èç¹ûA½á¹û¼¯½ÏС£¬ÄǾÍĬÈÏ×÷ΪÍâ±í£¬AÖÐÿÌõ¼Ç¼¶¼ÒªÈ¥BÖÐɨÃèÒ»±é£¬Êµ¼Êɨ¹ýµÄÐÐÊýÏ൱ÓÚA½á¹û¼¯ÐÐÊýx
B½á¹û¼¯ÐÐÊý¡£ËùÒÔÈç¹ûÁ½¸ö½á¹û¼¯¶¼ºÜ´ó£¬ÄÇJoinµÄ½á¹ûºÜÔã¸â¡£
SQL Server 2005ÐÂÔöÁËMerge Join£¬Èç¹ûA±íºÍB±íµÄÁ¬½Ó×Ö¶ÎÕýºÃÊǾۼ¯Ë÷ÒýËùÔÚ×ֶΣ¬ÄÇô±íµÄ˳ÐòÒѾÅźã¬Ö»ÒªÁ½±ßÆ´ÉÏÈ¥¾ÍÐÐÁË£¬ÕâÖÖjoinµÄ¿ªÏúÏ൱ÓÚA±íµÄ½á¹û¼¯ÐÐÊý¼ÓÉÏB±íµÄ½á¹û¼¯ÐÐÊý£¬Ò»¸öÊǼӣ¬Ò»¸öÊdzˣ¬¿É¼ûmerge
join µÄЧ¹ûÒª±ÈNested Loop JoinºÃ¶àÁË¡£
Èç¹ûÁ¬½ÓµÄ×Ö¶ÎÉÏûÓÐË÷Òý£¬ÄÇSQL2000µÄЧÂÊÊÇÏ൱µÍµÄ£¬¶øSQL2005ÌṩÁËHash join£¬Ï൱ÓÚÁÙʱ¸øA£¬B±íµÄ½á¹û¼¯¼ÓÉÏË÷Òý£¬Òò´ËSQL2005µÄЧÂʱÈSQL2000ÓкܴóÌá¸ß£¬ÎÒÈÏΪ£¬ÕâÊÇÒ»¸öÖØÒªµÄÔÒò¡£
×ܽáһϣ¬ÔÚ±íÁ¬½ÓʱҪעÒâÒÔϼ¸µã£º
(1) Á¬½Ó×ֶξ¡Á¿Ñ¡Ôñ¾Û¼¯Ë÷ÒýËùÔÚµÄ×Ö¶Î
(2) ×Ðϸ¿¼ÂÇwhereÌõ¼þ£¬¾¡Á¿¼õСA¡¢B±íµÄ½á¹û¼¯
(3) Èç¹ûºÜ¶àjoinµÄÁ¬½Ó×ֶζ¼È±ÉÙË÷Òý£¬¶øÄ㻹ÔÚÓÃSQL Server 2000£¬¸Ï½ôÉý¼¶°É¡£