¡¡¡¡µ±Êý¾Ý´æ´¢ÔÚÒ»¸öÆÕͨ±íÖеÄʱºò£¬ÕâЩ¼Ç¼½«ÒÔ²åÈëµ½Êý¾Ý¿âʱµÄ˳ÐòÎïÀíµØ±£´æµ½·ÖÅäµÄ¿éÖС£ÀýÈ磬Èç¹ûÓÐÒ»¸öÓÃÓÚ´æ´¢Ô±¹¤ÐÅÏ¢µÄ±í£¬ÄÇôԱ¹¤ÐÕÃû½«»á°´ÕÕ²åÈëµ½±íµÄ˳Ðò´æ´¢ÔÚ±íÖС£
¡¡¡¡Èç¹ûÔ±¹¤¼Ç¼·Ç³£¶àµÄ»°£¬ÄÇôÊý¾Ý±íµÄÏìÓ¦ËٶȾͻáÖð½¥±äÂý¡£Äã¿ÉÒÔͨ¹ýÑ¡ÔñÖµÏà¶ÔµÈ·Ö²¼µÄÒ»ÁУ¨ÈçÔ±¹¤µÄ²¿ÃűàºÅ£©²¢½¨Á¢Ò»¸ö´Ø±íÀ´Ìá¸ß²éѯԱ¹¤µÄËٶȡ£
¡¡¡¡ÔڴرíÖУ¬Èç¹ûÔ±¹¤ÊôÓÚͬһ¸ö²¿ÃÅ£¬ÄÇôËüÃǵļǼ½«ÎïÀíµØ´æ´¢ÔÚͬһϵÁеĿéÖС£ÕâÑù¾Í¿ÉÒÔÌá¸ß²éÕÒÔ±¹¤ÐÅÏ¢µÄËٶȣ¬ÕâÊÇÒòΪÔÚ¼ìË÷ij¸öÌض¨²¿ÃŵÄÔ±¹¤Ê±£¬ÐèÒª¶ÁÈ¡Êý¾Ý¿â¿éµÄÊýÁ¿¼õÉÙÁË¡£¶øÔڷǴرíÖвéÕÒÔ±¹¤£¬¾Í¿ÉÄÜÐèÒª¶Ôÿ¸öÊý¾Ý¿â¿é½øÐзÃÎÊ¡£
¡¡¡¡µ±±íÖдæÔÚ´óÁ¿¼üÖµµÄʱºò£¬Äã¾Í»á¿ªÊ¼·¢ÏÖÓÉÓÚ´æÔÚÐí¶à´Ø¿é¶øµ¼ÖµÄÐÔÄÜÎÊÌâ¡£±ÜÃâÕâ¸öÎÊÌâµÄÒ»¸ö·½·¨¾ÍÊÇʹÓÃÒ»¸ö¹þÏ£º¯ÊýÀ´Ô¼Êø´Ø¿éµÄÊýÁ¿¡£¹þÏ£º¯Êý½«»á¸ø¶¨Ò»¸öÊýÖµÓÃÀ´ÏÞ¶¨´Ø¿éÊýÁ¿µÄÔ¤¼Æ·¶Î§£¬µ«ËüµÃµ½µÄÖµÊÇÏà¶ÔµÈ·Ö²¼µÄ¡£ÀýÈçÄã¿ÉÒÔ´´½¨Ò»¸ö¹þÏ£º¯Êý,Ö»±È½Ï²¿ÃűàºÅµÄ×îºóÁ½Î»¡£
¡¡¡¡¹þÏ£º¯ÊýÖдæÔÚµÄÒ»¸öÎÊÌâ¾ÍÊǺ¯ÊýÖµ»á´òÂҼǼԱ¾µÄ˳Ðò¡£Äã¿ÉÒÔͨ¹ý ORDER BYÀ´½â¾öÕâ¸öÎÊÌ⣻µ«ÊÇ£¬ÔںܶàÇé¿öÏ£¬¼Ç¼ÊýÁ¿ÊǷdz£ÅÓ´óµÄ¡£ÔÚOracle 10g ÖУ¬Äã¿ÉÒÔ½«Ò»¸öÊý¾Ý¶¨ÒåΪ¡°natural order¡± £¬ÄÇô¾Í¿ÉÒÔ²»Óþ¹ýÅÅÐò¶øÒÔÄãËùÏ£ÍûµÄ˳ÐòÀ´¼ìË÷¹þÏ£´ØµÄÊý¾Ý£¬´Ó¶ø½â¾öÁËÉÏÃæµÄÌá³öÎÊÌâ¡£
¡¡¡¡ÀýÈ磬¼ÙÉèÄãÓÐÒ»¸öÐÅÓÿ¨ÒµÎñµÄÊý¾Ý¿â¡£Äã¾ö¶¨ÒÔÐÅÓÿ¨ºÅ×÷Ϊ´ØÖ÷¼ü½«ÓÐÀûÓÚÊý¾ÝµÄ´æ´¢·Ö²¼¡£µ«ÊÇ£¬ÓÉÓÚ´æÔÚ´óÁ¿µÄÐÅÓÿ¨ºÅ£¬ËùÒÔ¿ÉÒÔʹÓÃÒ»¸ö¹þÏ£º¯ÊýÀ´Ô¼Êø´Ø¿éµÄÊýÁ¿¡£¶øÇÒÄãÏ£ÍûÔÚÄãµÄ´ó²¿·Ö±¨±íÖÐÊý¾ÝÊÇ°´ÕÕʱ¼ä˳ÐòÅÅÁеģ¬ÄÇôÔÚ½øÐÐÿ¸ö²éѯ²Ù×÷ʱʹÓÃÅÅÐò¹þÏ£´Ø£¬¶ø²»ÒªÊ¹ÓÃORDER BY¡£ÏÂÃæ¸ø³öÁËÏà¹ØÓï¾ä£º
¡¡¡¡
¡¡¡¡create cluster credit_cluster
¡¡¡¡(
¡¡¡¡card_no varchar2(16),
¡¡¡¡transdate date sort
¡¡¡¡)
¡¡¡¡hashkeys 10000 hash is ora_hash(card_no)
¡¡¡¡size 256;
¡¡¡¡
¡¡¡¡
¡¡¡¡create table credit_orders
¡¡¡¡(
¡¡¡¡card_no varchar2(16),
¡¡¡¡transdate date,
¡¡¡¡amount number
¡¡¡¡)
¡¡¡¡cluster credit_cluster(card_no,transdate);
¡¡¡¡
¡¡¡¡
¡¡¡¡alter session set nls_date_format = "YYYYMMDDHH24MISS";
¡¡¡¡insert into credit_orders (card_no,transdate,amount)
¡¡¡¡values ('4111111111111111','20050131000123',57.99);
¡¡¡¡insert into credit_orders (card_no,transdate,amount)
¡¡¡¡values ('4111111111111111','20050130071216',16.59);
¡¡¡¡insert into credit_orders (card_no,transdate,amount)
¡¡¡¡values ('4111111111111111','20050131111111',39.00);
¡¡¡¡insert into credit_orders (card_no,transdate,amount)
¡¡¡¡values ('4111111111111111','20050130081001',25.16);
¡¡¡¡¿ÉÒÔ¿´µ½ÎÒÔÚÕâÀïʹÓÃÁËÒ»¸öк¯ÊýORA_HASH À´ÎªÐÅÓÿ¨½¨Á¢Ò»¸ö¹þÏ£ÊýÖµ¡£ÏÖÔÚ£¬Äã¿ÉÒԷdz£¼òµ¥µØ¶Ôij¸öÐÅÓÿ¨Êý¾Ý½øÐвéѯ£¬²¢·µ»Ø×Ô¶¯ÅÅÐòºóµÄ½á¹û¡£