½ñÌì¿´sigmod2011µÄÂÛÎĹØÓÚmapreduceÀ´½â¾ö²»µÈÖµÁ¬½ÓÎÊÌ⣬ËùÒÔÍøÂç¿ÆÆÕÁËһϣº
½ñÌìÎÒÃÇÒª½éÉܵÄÊÇsql¶à±í²éѯ²»µÈÁ¬½Ó£¬ÏëÖªµÀÔõôÑùÓÃÒ»¾äSQLµÃµ½Ã¿ÈÕµÄ¿â´æ½áÓàÂð£¬ÄÇôÄãǧÍò²»Òª´í¹ý½ñÌìµÄÄÚÈÝ£¡
¡¡¡¡¿ÉÄÜÓÐÅóÓÑÒªÎÊÁË£¬Ê²Ã´ÊDz»µÈÁ¬½ÓÄØ£¿
ͨ³£À´Ëµ£¬SQLÓïÑÔ½øÐеͼÊÇÎÞÐò²Ù×÷¡£ÏëÒª½øÐÐÓÐÐòµÄ´¦Àí£¬±ÈÈç±È½ÏÒ»¸öÐòÁеÄǰºóÏ±ØÐëҪʹÓÃÓαꡣµ«ÊÇ£¬ÔÚÓÐЩ³¡ºÏÏ£¬¿É²ÉÓÃÁíÒ»ÖÖ·½·¨£¬²»ÓÃÓα꣬һÑùÄÜ´¦ÀíÓÐÐòµÄÐÅÏ¢£¬Õâ¾ÍÊDz»µÈÁª½Ó¡£
¡¡¡¡¿´¿´ÏÂÃæµÄÀý×ÓÄã¾Í¸ü¼ÓÃ÷°×ʲôÊDz»µÈÁ¬½ÓÁË¡£
¡¡¡¡ÎÒÓÐÒ»Õűí
¡¡¡¡ÏÖÔÚÎÒÏ£Íûͨ¹ýÒ»Ìõ²éѯÓï¾äʹËü±ä³É
¡¡¡¡¿´µ½Ã»ÓУ¬¼Ç¼Êý±ä¶àÁË£¬½öÓÃÎÒÃÇ֮ǰѧµ½µÄa join b where a.XX=b.YYÄܽâ¾öÎÊÌâÂð£¿
¡¡¡¡ ÏëÏ룬ÔÙ¿´´ð°¸
select _a.ordinal from @a _a join @a _b on _a.ordinal<=_b.ordinal
¡¡¡¡×ܽ᣺
Á¬½ÓÌõ¼þ²»Îª=ºÅµÄͳ³Æ²»µÈÁ¬½Ó
<>,> ,<,like,not in,not exists¡..¶¼¿ÉÒÔ×öΪÁ¬½ÓÌõ¼þ
¡¡¡¡Õâ¸öÀý×ÓÓÐЩ³éÏó£¬Ò²Ðí´ó¼Ò»á˵£¬ÎÒÓò»ÉÏÕâÖÖ²éѯ
¡¡¡¡ÎÒ¸øÄã¿´¿´ÏÂÃæÕâ¸ö°¸Àý£¬Äú¾ÍÖªµÀÕâ¸ö²»µÈÁ¬½ÓÓжàʵÓÃÀ²
¡¡¡¡×ö¹ýÆóÒµÐÅϢϵͳӦ¸Ã¶¼ÖªµÀ½øÏú´æ°É£¬ÄÇô£¬ÏÂÃæÕâÊÇÒ»ÕÅÈë¿âÃ÷ϸ±í
¡¡¡¡Ëü¼Ç¼ÁËÿÌìµÄÈë¿âÇé¿ö
¡¡¡¡ÏÖÔÚÎÒÏ£ÍûµÃµ½Ã¿¸ö²úƷÿ´ÎÈë¿âÖ®ºóµÄ¿â´æ±ä»¯Çé¿ö£¬ÈçϱíËùʾ£º
¡¡¡¡Õâ¸ÃÔõô°ìÄØ£¿
Ö±¹ÛÉÏÀ´½²£¬ÎÒÃÇ¿ÉÒÔÔÚÈë¿âÃ÷ϸ±íÉϽ¨Ò»¸öÓα꣬´ÓµÚÒ»Ìõ¿ªÊ¼£¬Ã¿Ò»Ìõ£¬¼ÓÒ»´Î¡£
Ò²ÐíÓÐЩÅóÓÑ»¹¿ÉÒÔÏëµ½ÓÃupdate£¬²»´íÀ²£¡
µ«ÊÇ£¬Ö»ÓÐÕâЩ·½·¨Â𣿣¿£¿
µ±È»²»£¬ÎÒÃÇ¿ÉÒÔÓÃÒ»¾äSQL¸ã¶¨£¬ÏàÐÅÂð£¿
¡¡ÊÔÊÔ£¬ÔÙ¿´´ð°¸
Select
_b.Èë¿âÈÕÆÚ,_a.²úÆ·,sum(_a.ÊýÁ¿) µ±Ç°¿â´æ
from @Èë¿â±í _a
join @Èë¿â±í _b
on _a.²úÆ·=_b.²úÆ· and _a.Èë¿âÈÕÆÚ<=_b.Èë¿âÈÕÆÚ
group by _b.Èë¿âÈÕÆÚ,_a.²úÆ·
¡¡¡¡²»µÈÁª½Ó±¾Éí¾Í²»ÊÇÒ»Ò»¶ÔÓ¦£¬ËüµÄ¶ÔÓ¦¹ØÏµºÍ˳ÐòÓÐ×ÅÃÜÇеĹØÏµ¡£ÕâÒ²¾ÍÊÇÎÒÃÇÄܹ»ÄÃËüÀ´½øÐÐÓÐÐò²Ù×÷µÄÔÒò¡£Õâ¾ÍÊDz»µÈÁ¬½Ó£¬Õâ´ÎÖªµÀÁ˰ɣ¡
²»µÈÁª½Ó²éѯµÄÓÐÐò²Ù×÷ÄÜÁ¦£¬ÏÔÈ»À´×ÔÁª½Ó×ֶεĿÉÅÅÐòºÍ»¥ÒìÐÔ£¬ËùÒÔ£¬×îºÃ²»ÒªÔÚÓÐÖØ¸´ÖµµÄ×Ö¶ÎÉÏ×ö²»µÈÁª½Ó£¨ÊÂʵÉÏ£¬×îºÃ²»ÒªÔÚÓÐÖØ¸´ÖµµÄ×Ö¶ÎÉÏ×öÈκÎÁª½Ó£¬³ý·ÇÄã·Ç³£¿Ï¶¨ÄãÔÚ¸Éʲô£©¡£µÈÖµÁª½Ó³öÏÖÊý¾Ý±¬Õ¨¾Í¹»¿ÉŵÄÁË£¬²»µÈÁª½ÓÒªÊÇÍæ±¬ÁË¡¡ºÙºÙºÙ¡¡
ÏëÏñÒ»¸öµÈÖµÁª½ÓÖÐÓÐÒ»¶ÔÖØ¸´Öµ£¬¿ÉÄܳöÏÖÁ½¶ÔÖØ¸´½á¹û¡£²»¹ýÒªÊDz»µÈÁª½Ó£¬¾ÍºÍÖØ¸´µÄλÖÃÓйØÁË¡£ÒòΪÕâÊÇÒ»¸öÈý½ÇÐΣ¬ËùÒÔ³öÏÖÔÚ×îÉÏÃæ»¹ºÃ£¬ÒªÊdzöÏÖÔÚÕâ¸öÈý½ÇÐεÄϲ¿¡¡
СÖҸ棺²»µÈÁª½Ó²éѯ£¬ÏÔÈ»ÊÇÒ»¸öÓÐÁ¦µÄ¹¤¾ß£¬µ«ËüÒ²ÊÇÕÐÀ´Âé·³µÄ¿ì½Ý·½Ê½Ö®Ò»¡£Óм¸¸öСÖҸ棺
1¡¢Èç¹ûÁª½Ó»áÉú³ÉºÜ´óµÄ¡°Èý½ÇÐΡ±£¬¾Í²»ÒªÓã¬ÊÔÊÔ×Ó²éѯ»òÄÄÅÂÓαꣻ
2¡¢Éú³ÉµÄ½á¹û¼¯Ïà¶ÔÓÚÔ±íԽСԽºÃ£¬¾¡¿ÉÄܵذÑÎÞÓõÄÊý¾ÝÏȹýÂ˵ô£»
3¡¢Óò»µÈÁª½Ó½øÐÐÊýÁмÆËã»á±í´ïµÄºÜÇå³þ£¨ÒòΪÊÇ·**ý³Ì»¯µÄ£©£¬µ«Í¨³£ÔÚЧÂÊÉÏËüûÓÐʲôÓÅÊÆ£¬ËùÒÔ£¬Æ½Ê±ÍæÍæ¿ÉÒÔ£¬ÕæÓõϰ×îºÃÏÈ¿¼ÂǺã»
4¡¢»¹ÓоÍÊDz»µÈÁª½Ó²»ÒªÇáÒ×ÓÃÔÚ¶àÖØÁª½ÓÖУ¬·ñÔò¿ÉÄÜ»áÒýÆð¸Ü¸Ë×÷Óá£
¡¡¡¡²»µÈÁ¬½ÓºÜÉñÆæ°É£¬¹¦ÄܺÜÇ¿´ó°É£ºD£¬×£´ó¼ÒÔÚÕâ¸öÉñÆæµÄÊÀ½çÖÐÂÃÐÐÓä¿ì£¡
http://www.oecp.cn/hi/xj/blog/236