[SQL Server 2005] hashÁª½ÓËã·¨
SQL Server 2005 hashÁª½ÓËã·¨
Èç¹ûÁ½¸öÁª½ÓÊäÈë¶¼ºÜ´ó£¬¶øÇÒÕâÁ½¸öÊäÈëµÄ´óС²î²»¶à£¬ÔòÔ¤ÏÈÅÅÐòµÄºÏ²¢Áª½ÓÌṩµÄÐÔÄÜÓë¹þÏ£Áª½ÓÏà½ü¡£µ«ÊÇ£¬Èç¹ûÕâÁ½¸öÊäÈëµÄ´óСÏà²îºÜ´ó£¬Ôò¹þÏ£Áª½Ó²Ù×÷ͨ³£¿ìµÃ¶à¡£
¹þÏ£Áª½Ó¿ÉÒÔÓÐЧ´¦ÀíδÅÅÐòµÄ´óÐÍ·ÇË÷ÒýÊäÈë¡£ËüÃǶԸ´ÔÓ²éѯµÄÖмä½á¹ûºÜÓÐÓã¬ÒòΪ£º
· Öмä½á¹ûδ¾Ë÷Òý£¨³ý·ÇÒѾÏÔʽ±£´æµ½´ÅÅÌÉÏÈ»ºó´´½¨Ë÷Òý£©£¬¶øÇÒͨ³£²»Îª²éѯ¼Æ»®ÖеÄÏÂÒ»¸ö²Ù×÷½øÐÐÊʵ±µÄÅÅÐò¡£
· ²éѯÓÅ»¯Æ÷Ö»¹À¼ÆÖмä½á¹ûµÄ´óС¡£ÓÉÓÚ¶ÔÓÚ¸´ÔÓ²éѯ£¬¹À¼Æ¿ÉÄÜÓкܴóµÄÎó²î£¬Òò´ËÈç¹ûÖмä½á¹û±ÈÔ¤ÆÚµÄ´óµÃ¶à£¬Ôò´¦ÀíÖмä½á¹ûµÄËã·¨²»½ö±ØÐëÓÐЧ¶øÇÒ±ØÐëÊʶÈÈõ»¯¡£
ÔÀí
Hash joinÒ»°ãÓÃÓÚÒ»ÕÅС±íºÍÒ»ÕÅ´ó±í½øÐÐjoinʱ¡£Hash joinµÄ¹ý³Ì´óÖÂÈçÏ£¨ÏÂÃæËù˵µÄÄÚ´æ¾ÍÖ¸sort area£¬¹ØÓÚ¹ý³Ì£¬ºó
Ãæ»á×÷ÏêϸÌÖÂÛ£©£º
1£® Ò»ÕÅС±í±»hashÔÚÄÚ´æÖС£ÒòΪÊý¾ÝÁ¿Ð¡£¬ËùÒÔÕâÕÅС±íµÄ´ó¶àÊýÊý¾ÝÒѾפÈëÔÚÄÚ´æÖУ¬Ê£ÏµÄÉÙÁ¿Êý¾Ý±»·ÅÖÃÔÚÁÙʱ±í¿Õ¼äÖУ»
2£® ÿ¶ÁÈ¡´ó±íµÄÒ»Ìõ¼Ç¼£¬¾ÍºÍС±íÖÐÄÚ´æÖеÄÊý¾Ý½øÐбȽϣ¬Èç¹û·ûºÏ£¬ÔòÁ¢¼´Êä³öÊý¾Ý£¨Ò²¾ÍÊÇ˵ûÓжÁÈ¡ÁÙʱ±í¿Õ¼äÖеÄС±íµÄÊý¾Ý£©¡£¶øÈç¹û´ó±íµÄÊý¾ÝÓëС±íÖÐÁÙʱ±í¿Õ¼äµÄÊý¾ÝÏà·ûºÏ£¬Ôò²»Ö±½ÓÊä³ö£¬¶øÊÇÒ²±»´æ´¢ÁÙʱ±í¿Õ¼äÖС£
3£® µ±´ó±íµÄËùÓÐÊý¾Ý¶¼¶ÁÈ¡Íê±Ï£¬½«ÁÙʱ±í¿Õ¼äÖеÄÊý¾ÝÒÔÆäÊä³ö¡£
Èç¹ûС±íµÄÊý¾ÝÁ¿×㹻С£¨Ð¡ÓÚhash area size£©£¬ÄÇËùÓÐÊý¾Ý¾Í¶¼ÔÚÄÚ´æÖÐÁË£¬¿ÉÒÔ±ÜÃâ¶ÔÁÙʱ±í¿Õ¼äµÄ¶Áд¡£
Èç¹ûÊDz¢Ðл·¾³Ï£¬Ç°ÃæÖеĵÚ2²½¾Í±ä³ÉÈçÏÂÁË£º
2£®Ã¿¶ÁȡһÌõ´ó±íµÄ¼Ç¼£¬ºÍÄÚ´æÖÐС±íµÄÊý¾Ý±È½Ï£¬Èç¹û·ûºÏÏÈ×öjoin£¬¶ø²»Ö±½ÓÊä³ö£¬Ö±µ½ÕûÕÅ´ó±íÊý¾Ý¶ÁÈ¡Íê±Ï¡£Èç¹ûÄÚ´æ×ã¹»£¬JoinºÃµÄÊý¾Ý¾Í±£´æÔÚÄÚ´æÖС£·ñÔò£¬¾Í±£´æÔÚÁÙʱ±í¿Õ¼äÖС£
1,´¦Àí´óÁ¿¡¢Î´ÅÅÐò¡¢ÎÞË÷ÒýµÄÊý¾Ý
2 ,Hash JoinÒ»¸ö½Ï´óÏÞÖÆÊÇËüÖ»ÄÜÓ¦ÓÃÓÚµÈÖµÁª½á(equality join)£¬ÕâÖ÷ÒªÊÇÓÉÓÚ¹þÏ£º¯Êý¼°Æä
Ïà¹ØÎĵµ£º
µ±ÔÚÄÚÁ¬½Ó²éѯÖмÓÈëÌõ¼þʱ£¬ÎÞÂÛÊǽ«Ëü¼ÓÈëµ½join×Ӿ䣬»¹ÊǼÓÈëµ½where×Ӿ䣬ÆäЧ¹ûÊÇÍêȫһÑùµÄ£¬µ«¶ÔÓÚÍâÁ¬½ÓÇé¿ö¾Í²»Í¬ÁË¡£µ±°ÑÌõ¼þ¼ÓÈëµ½ join×Ó¾äʱ£¬»á·µ»ØÍâÁ¬½Ó±íµÄÈ«²¿ÐУ¬È»ºóʹÓÃÖ¸¶¨µÄÌõ¼þ·µ»ØµÚ¶þ¸ö±íµÄÐС£Èç¹û½«Ìõ¼þ·Åµ½where×Ó¾äÖУ¬½«»áÊ×ÏȽøÐÐÁ¬½Ó²Ù×÷£¬È»ºóʹÓÃwhere×Ó¾ä¶ÔÁ¬½ÓºóµÄÐнøÐÐɸѡ¡ ......
ºÜ¶àÈËÌØ±ðϲ»¶ÓÃÊÓͼ,µ«ÓеÄÈË´ÓÀ´²»ÓÃÊÓͼ.Õâ¶¼ÊÇÁ½ÖÖ²»Á¼µÄϰ¹ß. ÒªÃ÷È·ÊÓͼ¿ÉÒÔÍê³ÉµÄ¹¤×÷ÒÔ¼°Ê¹Óó¡ºÏ.
1.×èֹѡÔñ±£ÃÜÁÐ
2.½µµÍÓû§¶ÁÈ¡Êý¾Ý¿âÄÚÊý¾ÝµÄ¸´ÔÓÐÔ
3.ÔÚÊý¾Ý¿âÖÐÌí¼ÓË÷ÒýÒÔ¼ÓËÙ ......
´ÓÍøÂçÉÏ¿´µ½²»ÉÙ¹ØÓÚÊý¾Ý¿âÔ¶³Ì·ÃÎÊÅäÖõÄÎÄÕ£¬¸øÎҵĴóÌåÓ¡Ïó¾ÍÊÇÅäÖùý³Ì¸´ÔÓÈßÓ࣬Óв»ÉÙ»¹ÊÇ´íÎóµÄÅäÖÆ·½·¨£¬´ó¶àÊý¶¼ÈÃÈ˸оõ·Ñ½â£¬¼øÓÚ´Ë£¬ÎÒ×Ô¼º¸ù¾Ýʵ¼Ê²Ù×÷£¬Ð´ÁËÒ»¸öÊý¾Ý¿âÔ¶³Ì·ÃÎʵÄÅäÖ÷½·¨£¬Á¦Çó¼òµ¥ÓÐЧ¡£ÓжÔÏÂÃæÅäÖÃÓÐÒÉÎʵĿÉÒÔÁôÑÔ£¬ÎÒ½«×÷³ö»Ø´ð¡£
1. &nb ......
PATINDEX
·µ»ØÖ¸¶¨±í´ïʽÖÐijģʽµÚÒ»´Î³öÏֵįðʼλÖã»Èç¹ûÔÚÈ«²¿ÓÐЧµÄÎı¾ºÍ×Ö·ûÊý¾ÝÀàÐÍÖÐûÓÐÕÒµ½¸Ãģʽ£¬Ôò·µ»ØÁã¡£
Óï·¨
PATINDEX ( '%pattern%' , expression )
²ÎÊý
pattern
Ò»¸ö×Ö·û´®¡£¿ÉÒÔʹÓÃͨÅä·û£¬µ« pattern ֮ǰºÍÖ®ºó±ØÐëÓÐ % ×Ö·û£¨ËÑË÷µÚÒ»¸öºÍ×îºóÒ»¸ö×Ö·ûʱ³ýÍ⣩¡£pattern ÊǶÌ×Ö·ûÊý ......
ÏÖÏó£º
ÔÚʹÓÃMicrosoft SQL Server 2005ʱ£¬Òª´´½¨Ò»¸öµÇ¼Ãû£¬²¢Îª¸ÃµÇ¼Ãû¹ØÁªÁËÒ»¸öÊý¾Ý¿â£¬µ«ÊÇÔÚÑ¡Ôñ“°²È«¶ÔÏó”Ñ¡Ïîʱ£¬È´³öÏÖÁËÈçÌâËùʾµÄ´íÎ󡣯äËûÐÅÏ¢ÏÔʾΪ£ºÖ´ÐÐTransact-SQLÓï¾ä»òÅú´¦Àíʱ·¢ÉúÁËÒì³£(Microsoft.SqlServer.ConnectionInfo)¡£ÎÞ·¨½â¾ö ......