°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÕßÀ´Ëµ£¬Ñо¿ÉÏÊö¼¼ÇÉÓÐÀûÓÚ¶Ô²éѯÄÚ²¿¹¤×÷ÔÀíµÄÉîÈëÁ˽⣬³£³£Ê¹ÄãÊÜÒæ·Ëdz¡£¡¡
×ܽ᣺µ±ÊÓͼ·µ»Ø²»±ØÒªµÄÔªËØÊ±£¬±ð°ÑÊÓͼÄÚǶÔÚ²éѯÖУ¬¶øÊÇÓ¦½«ÊÓͼ·Ö½â£¬½«Æä×é³É²¿¡¡
·Ö¼Óµ½²éѯÖ÷ÌåÖС£¡¡
²¢·¢Óû§Êý¡¡
Number¡¡of¡¡other¡¡Users¡¡
×îºó£¬ÔÚÉè¼Æ¡¡SQL¡¡³ÌÐòʱ£¬²¢·¢ÐÔ£¨concurrency£©ÊǸö±ØÐëÈÏÕæ¶Ô´ýµÄÒòËØ¡£Ð´Êý¾Ý¿âʱÐè¡¡
Òª¹Ø×¢²¢·¢ÐÔ£ºÊÇ·ñ´æÔÚÊý¾Ý¿é·ÃÎÊÕùÓã¨block¡access¡¡contention£©¡¢×èÈû£¨locking£©¡¢»òãÅ¡¡
¶¨£¨latching£©£¨DBMSÄÚ²¿×ÊÔ´×èÈû£©µÈÖØÒªÎÊÌ⣻ÉõÖÁÓÐʱ£¬Îª±£Ö¤¶ÁȡһÖÂÐÔ£¨read¡¡
consistency£©Ò²»áµ¼ÖÂijÖ̶ֳȵÄ×ÊÔ´ÕùÓá£ÈκηþÎñÆ÷µÄ´¦ÀíÄÜÁ¦¶¼ÊÇÓÐÏ޵쬲»¹ÜÆä˵Ã÷¡¡
ÊéÓжàÁîÈËÕ𺳡£ÔÚ»úÆ÷ÏàͬµÄÇé¿öÏ£¬ºÜÉÙ²¢·¢»òûÓв¢·¢²Ù×÷ʱÉè¼Æ¿ÉÄÜÊÇÍêÃÀµÄ£¬µ«¶Ô¡¡
ÓдóÁ¿²¢·¢²Ù×÷µÄÇé¿öδ±ØÍêÃÀ¡£ÅÅÐò²Ù×÷¿ÉÄÜûÓÐ×ã¹»ÄÚ´æ¿ÉÓã¬ÓÚÊÇת¶øÇóÖúÓÚ´ÅÅÌ£¬Òý¡¡
·¢ÁËеÄ×ÊÔ´ÕùÓá¡Ò»Ð©¼ÆËãÃܼ¯ÐÍ£¨CPUintensive£©²Ù×÷¡ª¡ªÀýÈ縺Ôð¸´ÔÓ¼ÆËãµÄº¯Êý¡¢¡¡
Ë÷ÒýÇø¿éµÄÖØ¸´É¨Ã裬¾ù¿ÉÒýÆð¼ÆËã»ú¸ººÉ¹ý¶à¡£ÎÒÓöµ½¹ýһЩ°¸Àý£¬Ôö¼ÓÎïÀí¡¡I/O¡¡»áʹÈÎÎñ¡¡
Ö´ÐÐЧÂʸü¸ß£¬ÒòΪÆäÖмÆËãÃܼ¯²Ù×÷µÄ²¢·¢Ö´Ðг̶Ⱥܸߣ¬Ò»¸ö½ø³Ì¸ÕÒòµÈ´ý¡¡I/O¡¡¶ø×èÈû£¬¡¡
±»ÊͷŵÄCPU¾Í±»ÁíÒ»¸ö½ø³ÌÕ¼ÓÃÁË£¬ÕâÑùÒ»À´CPU×ÊÔ´¾Í±»³ä·ÖÀûÓÃÁË¡£Ò»°ã¶øÑÔ£¬ÎÒÃDZء¡
Ð뿼ÂÇÌØ¶¨ÉÌÒµÈÎÎñµÄÕûÌåÍÌÍÂÁ¿£¨throughput£©£¬¶ø²»ÊǸö±ðÓû§µÄÏìӦʱ¼ä£¨response¡time£©¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡38¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
×¢Òâ¡¡
µÚ9Õ½«¸üÏêϸµØÌ½ÌÖ²¢·¢ÐÔ¡£¡¡
¹ýÂË¡¡
Filtering¡¡
ÈçºÎÏÞ¶¨½á¹û¼¯ÊÇ×î¹Ø¼üµÄÒòËØÖ®Ò»£¬ÓÐÖúÓÚÄãÔÚ±àд¡¡SQL¡¡Óï¾äʱÅжϸÃÓÃÄÄЩ¼¼ÇÉ¡£ÓÃÀ´¡¡
¹ýÂËÊý¾ÝµÄËùÓÐ×¼Ôò£¬Í¨³£±»ÊÓΪÊÇ¡¡where¡¡×Ó¾äÖи÷ÖÖ¸÷ÑùµÄÌõ¼þ£¬ÎÒÃDZØÐëÈÏÕæÑо¿¸÷ÖÖ¡¡
where¡¡×Ӿ䣨¼°¡¡having¡¡×Ӿ䣩¡£¡¡
¹ýÂËÌõ¼þµÄº¬Òå¡¡
Meaning¡¡of¡¡Filtering¡¡Conditions¡¡
Èô´ÓSQLÓï·¨À´¿´£¬where×Ó¾äÖбí´ïµÄËùÓйýÂËÌõ¼þµ±È»´óͬСÒì¡£µ«ÊÂʵ²¢·ÇÈç´Ë¡£ÓÐЩ¡¡
¹ýÂËÌõ¼þͨ¹ý¹ØÏµÀíÂÛÖ±½Ó×÷ÓÃÓÚselect¡¡ÔËËã·û£ºwhere×Ó¾ä¼ì²é¼Ç¼ÖеÄ×Ö¶ÎÊÇ·ñÓëÖ¸¶¨Ìõ¡¡
¼þÏà·û¡£µ«Æäʵ£¬where¡¡×Ó¾äÖеÄÌõ¼þ»¹¿ÉÒÔʹÓÃÁíÒ»¸ö¹ØÏµÔËËã·û¡¡join¡£×Ô´Ó¡¡SQL92¡¡³öÏÖ¡¡
join¡¡Óï·¨ºó£¬ÈËÃǾÍÊÔͼ½«¡°join¹ýÂËÌõ¼þ¡±£¨Î»ÔÚÖ÷¡¡from¡¡×Ó¾äºÍ¡¡where¡¡×Ó¾äÖ®¼ä£©ºÍ¡°select¡¡
¹ýÂËÌõ¼þ¡±£¨Î»ÓÚwhere×Ó¾äÄÚ£©Çø·Ö¿ªÀ´¡£´ÓÂß¼ÉϽ²£¬Á¬½ÓÁ½¸ö£¨»ò¶à¸ö£©±í½¨Á¢ÁËеĹء¡
ϵ¡£¡¡
ÏÂÃæÊǸö³£¼ûµÄÁ¬½Ó£¨join£©µÄÀý×Ó£º¡¡
select¡¡¡£¡£¡£¡£¡£¡¡
from¡¡t1¡¡
inner¡¡join¡¡t2¡¡
on¡¡t1¡£join1¡¡=¡¡t2¡£joind2¡¡
where¡¡¡£¡£¡£¡¡
¼ÙÉè±ít2ÖÐÓÐÒ»×Ö¶Îc2£¬¸Ã²»¸Ã°Ñ¡¡c2ÉϵÄÌõ¼þµ±×÷¡¡inner¡¡join¡¡µÄ¶îÍâÌõ¼þÄØ£¿¼´ÊÇ·ñÓ¦ÈÏΪ²Î¡¡
ÓëÁ¬½ÓµÄ²»ÊÇ¡°t2±í¡±¶øÊÇ¡°t2±íµÄ×Ó¼¯¡±ÄØ£¿»òÕߣ¬¼ÙÉèwhere¡¡×Ó¾äÖÐÓÐһЩ¹ØÓÚt1¡¡×ֶεÄÌõ¼þ£¬¡¡
ÄÇôÕâЩÌõ¼þÊÇ·ñ»áÓ¦Óõ½¡¡t1¡¡Á¬½Ó¡¡t2¡¡µÄ½á¹ûÄØ£¿Á¬½ÓÌõ¼þ·ÅÔںδ¦Ó¦¸Ã¶¼Ò»Ñù£¬È»¶øÆäÔË¡¡
ÐÐЧÂÊÈ´»áÒòÓÅ»¯Æ÷²»Í¬¶øÒì¡£¡¡
³ýÁËÁ¬½ÓÌõ¼þºÍ¼òµ¥µÄ¹ýÂËÌõ¼þÖ®Í⣬»¹ÓÐÆäËûÖÖÀàµÄÌõ¼þ¡£ÀýÈ磬¹æ¶¨·µ»ØµÄ¼Ç¼¼¯ÎªÄ³ÖÖ¡¡
×ÓÀàÐ͵ÄÌõ¼þ£¬ÒÔ¼°¼ì²éÁíÒ»¸ö±íÄÚÊÇ·ñ´æÔÚÌØ¶¨Êý¾ÝµÄÌõ¼þ¡£ËäÈ»´Ó¡¡SQL¡¡Óï·¨ÉÏ¿´ËüÃÇÏà¡¡
ËÆ£¬µ«ÔÚÓïÒåÉÏȴδ±ØÍêÈ«Ïàͬ¡£ÓÐʱÌõ¼þµÄ¼ÆËã˳ÐòÎÞ×ãÇáÖØ£¬µ«ÓÐʱȴӰÏìÖØ´ó¡£¡¡
ÏÂÃæµÄÀý×Ó˵Ã÷ÁËÌõ¼þ¼ÆËã˳ÐòµÄÖØÒªÐÔ£¬Êµ¼ÊÉÏ£¬ÔÚÐí¶àÉÌÓÃÈí¼þ°üÖж¼ÄÜÕÒµ½ÕâÑùµÄÀý×Ó¡£¡¡
¼ÙÉèÓиö¡¡parameters¡¡±í£¬Ëü°üº¬×ֶΣºparameter_name¡¢parameter_type¡¢¡¡
parameter_value£¬ÎÞÂÛÓÉparameter_type¶¨ÒåÁËʲô²ÎÊýÊôÐÔ£¬ÆäÖС¡parameter_¡¡value¡¡¾ùÒÔ¡¡
×Ö·û´®±íʾ¡££¨´ÓÂß¼ÉÏÀ´Ëµ£¬ÉÏÊöÇé¿ö¿°±ÈÂÞÃÜÅ·ÓëÜïÀòÒ¶µÄ±¯¾ç£¬ÒòΪÊôÐÔparameter_value¡¡
Ëù±íʾµÄÁìÓòÀàÐͷdz£¶à£¬ËùÒÔÎ¥·´Á˹ØÏµÀíÂÛµÄÖ÷Òª¹æÔò¡££©¼ÙÉè½øÐÐÈçϲéѯ£º¡¡
¡¡¡¡select¡¡*¡¡from¡¡parameters¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡39¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡where¡¡parameter_name¡¡like'£¥size'¡¡
¡¡¡¡and¡¡parameter_type¡¡=¡¡'NUMBER'¡¡
ÔÚÕâ¸ö²éѯÖУ¬ÎÞÂÛÏȼÆËãÁ½¸öÌõ¼þÖеÄÄÄÒ»¸ö£¬¶¼Î޹ؽôÒª¡£È»¶ø£¬Èç¹ûÔö¼ÓÁËÒÔÏÂÌõ¼þ£¬¡¡
¼ÆËãµÄ˳Ðò¾Í±äµÃ·Ç³£ÖØÒªÁË£¬ÆäÖÐint£¨£©Êǽ«×Ö·ûת»»ÎªÕûÊýÖµµÄº¯Êý£º¡¡
¡¡¡¡¡¡and¡¡int£¨parameter_value£©¡¡¡·¡¡1000¡¡
Õâʱ£¬parameter_typeÉϵÄÌõ¼þ±ØÐëÏȼÆË㣬¶øparameter_valueÉϵÄÌõ¼þºó¼ÆË㣬·ñÔò»áÒòΪ¡¡
ÊÔͼ°Ñ·ÇÊý×Ö×Ö·û´®×ª»»ÎªÕûÊý£¬¶øÔì³ÉÔËÐÐʱ´íÎ󣨼ÙÉè¡¡parameter_¡¡type×ֶεÄÀàÐͶ¨Òå¡¡
Ϊchar£©¡£Èç¹ûÄãÎÞ·¨ÏòÊý¾Ý¿â˵Ã÷ÕâÒ»µã£¬ÄÇôÓÅ»¯Æ÷Ò²ÎÞ´ÓÖªµÀÄĸöÌõ¼þÓ¦¸ÃÓнϸߵÄÓÅÏÈ¡¡
Ȩ¡£¡¡
×ܽ᣺²éѯÌõ¼þÊÇÓвîÒìµÄ£¬Óеĺã¬ÓеIJ¡¡
¹ýÂËÌõ¼þµÄºÃ»µ¡¡
Evaluation¡¡of¡¡Filtering¡¡Conditions¡¡
±àд¡¡SQL¡¡Óï¾äʱ£¬Ó¦Ê×ÏÈ¿¼ÂǵÄÎÊÌâÊÇ£º¡¡
¡¡¡¡ÄÄЩÊý¾ÝÊÇ×îÖÕÐèÒªµÄ£¬ÕâЩÊý¾ÝÀ´×ÔÄÄЩ±í£¿¡¡
¡¡¡¡ÄÄЩÊäÈëÖµ»á´«µÝµ½¡¡DBMS¡¡ÒýÇæ£¿¡¡
¡¡¡¡ÄÄЩ¹ýÂËÌõ¼þÄÜÂ˵ô²»ÏëÒªµÄ¼Ç¼£¿¡¡
È»¶øÒªÇå³þµÄÊÇ£¬ÓÐЩÊý¾Ý£¨Ö÷ÒªÊÇÓÃÀ´Á¬½Ó±íµÄÊý¾Ý£©¿ÉÄÜÈßÓàµØ´æ´¢ÔÚ¼¸¸ö±íÖС£ËùÒÔ£¬¡¡
¼´Ê¹ËùÐèµÄ·µ»ØÖµÊÇij±íµÄÖ÷¼ü£¬Ò²²»´ú±íÕâ¸ö±í±ØÐë³öÏÖÔÚfrom×Ó¾äÖУ¬Õâ¸öÖ÷¼ü¿ÉÄÜ»áÒÔ¡¡
Íâ¼üµÄÐÎʽ³öÏÖÔÚÁíÒ»¸ö±íÖС£¡¡
ÔÚ±àд²éѯ֮ǰ£¬ÎÒÃÇÉõÖÁÓ¦¸Ã¶Ô¹ýÂËÌõ¼þ½øÐÐÅÅÐò£¬ÕæÕý¸ßЧµÄÌõ¼þ£¨¿ÉÄÜÓжà¸ö£¬Éæµ½²»¡¡
ͬµÄ±í£©ÊDzéѯµÄÖ÷ÒªÇý¶¯Á¦£¬µÍЧÌõ¼þÖ»Æð¸¨Öú×÷Óá£ÄÇô¶¨Òå¸ßЧ¹ýÂËÌõ¼þµÄ×¼ÔòÊÇʲô¡¡
ÄØ£¿Ê×ÏÈ£¬Òª¿´¹ýÂËÌõ¼þÄÜ·ñ¾¡¿ì¼õÉÙ±ØÐë´¦ÀíµÄÊý¾ÝÁ¿¡£ËùÒÔ£¬ÎÒÃDZØÐë±¶¼Ó¹Ø×¢Ìõ¼þµÄ±à¡¡
д·½Ê½£¬ÏÂÃæÍ¨¹ýÀý×Ó˵Ã÷ÕâÒ»µã¡£¡¡
òùòð³µÂòÖ÷¡¡
¼ÙÉèÓÐËĸö±í£º¡¡customers¡¢orders¡¢orderdetail¡¢articles£¬Èçͼ4¡5Ëùʾ¡£×¢Ò⣬ͼÖи÷±íµÄ¡¡
·½¿ò´óС²»Í¬£¬Õâ´ú±í¸÷±íµÄÊý¾ÝÁ¿´óС£¬¶ø²»´ú±í×Ö¶ÎÊýÁ¿£»¼ÓÏ»®ÏßµÄ×Ö¶ÎΪÖ÷¼ü¡£¡¡
ÏÖÔÚ¼ÙÉè¡¡SQL¡¡Òª´¦ÀíµÄÎÊÌâÊÇ£ºÕÒ³ö×î½üÁù¸öÔÂÄÚ¾ÓסÔÚGothamÊС¢¶©¹ºÁËòùòð³µµÄËùÓп͡¡
»§¡£µ±È»£¬±àдÕâ¸ö²éѯÓжàÖÖ·½·¨£¬ANSISQLµÄÍÆ³çÕß¿ÉÄÜд³öÏÂÁÐÓï¾ä£º¡¡
¡¡¡¡select¡¡distinct¡¡c¡£custname¡¡
¡¡¡¡from¡¡customersc¡¡
¡¡¡¡join¡¡orders¡¡o¡¡
¡¡¡¡on¡¡o¡£custid¡¡=¡¡c¡£custid¡¡
¡¡¡¡join¡¡orderdetail¡¡od¡¡
¡¡¡¡on¡¡od¡£ordid¡¡=¡¡o¡£ordid¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡40¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡join¡¡articles¡¡a¡¡
¡¡¡¡on¡¡a¡£artid¡¡=¡¡od¡£artid¡¡
¡¡¡¡where¡¡c¡£city=¡¡'GOTHAM'¡¡
¡¡¡¡and¡¡a¡£artname¡¡=¡¡'BATMOBILE'¡¡
¡¡¡¡and¡¡o¡£ordered¡¡¡·=¡¡somefunc¡¡
ÆäÖУ¬somefuncÊǸöº¯Êý£¬·µ»Ø¾à½ñÁù¸öÔÂǰµÄ¾ßÌåÈÕÆÚ¡£×¢ÒâÉÏÃæÓÃÁËdistinct£¬ÒòΪ¿¼Âǵ½¡¡
ij¸ö¿Í»§¿ÉÒÔÊÇ´óÂò¼Ò£¬×î½ü¶©¹ºÁ˺ü¸Ì¨òùò𳵡£¡¡
Ôݲ»¿¼ÂÇÓÅ»¯Æ÷½«ÈçºÎ¸Äд´Ë²éѯ£¬ÎÒÃÇÏÈ¿´Ò»ÏÂÕâ¶Î´úÂëµÄº¬Òå¡£Ê×ÏÈ£¬À´×Ôcustomers±íµÄ¡¡
Êý¾ÝÓ¦Ö»±£Áô³ÇÊÐÃûΪ¡¡Gotham¡¡µÄ¼Ç¼¡£½Ó×Å£¬ËÑË÷orders±í£¬ÕâÒâζ×Åcustid×Ö¶Î×îºÃÓÐË÷¡¡
Òý£¬·ñÔòÖ»ÓÐͨ¹ýÅÅÐò¡¢ºÏ²¢»òɨÃèorders±í½¨Á¢Ò»¸ö¹þÏ£±í²ÅÄܱ£Ö¤²éѯËÙ¶È¡£¶Ôorders±í£¬¡¡
»¹ÒªÕë¶Ô¶©µ¥ÈÕÆÚ½øÐйýÂË£ºÈç¹ûÓÅ»¯Æ÷±È½Ï´ÏÃ÷£¬Ëü»áÔÚÁ¬½Ó£¨join£©Ç°ÏȹýÂ˵ôһЩÊý¾Ý£¬¡¡
´Ó¶ø¼õÉÙºóÃæÒª´¦ÀíµÄÊý¾ÝÁ¿£»²»Ì«´ÏÃ÷µÄÓÅ»¯Æ÷Ôò¿ÉÄÜ»áÏÈ×öÁ¬½Ó£¬ÔÙ×÷¹ýÂË£¬ÕâʱÔÚÁ¬½Ó¡¡
ÖÐÖ¸¶¨¹ýÂËÌõ¼þÀûÓÚÌá¸ßÐÔÄÜ£¬ÀýÈ磺¡¡
¡¡¡¡join¡¡orders¡¡o¡¡
¡¡¡¡on¡¡o¡£custid¡¡=¡¡c¡£custid¡¡
¡¡¡¡and¡¡a¡£ordered¡¡¡·=¡¡somefunc¡¡
¼´Ê¹¹ýÂËÌõ¼þÓëÁ¬½Ó£¨join£©Î޹أ¬ÓÅ»¯Æ÷Ò²»áÊܵ½¹ýÂËÌõ¼þµÄÓ°Ïì¡£ÀýÈ磬ÈôorderdetailµÄÖ÷¡¡
¼üΪ£¨ordid£»¡¡artid£©£¬¼´ordidΪË÷ÒýµÄµÚÒ»¸öÊôÐÔ£¬ÄÇôÎÒÃÇ¿ÉÒÔÀûÓÃË÷ÒýÕÒµ½Óë¶©µ¥Ïà¹ØµÄ¼Ç¡¡
¼£¬¾