| ²©¿Í | Linux | ÂÛ̳ | È˲Š| Åàѵ | ֪ʶ¿â | ×ÊÁÏ | ¶ÁÊé | ÊÖ²á | ¾«»ª | ÏÂÔØ | ɳÁú | ËÑË÷ | |
![]() |
| Ê×Ò³ ¡¬ ÐÂÎÅ ¡¬ ASE ¡¬ PB/PD ¡¬ Sybase IQ ¡¬ iAnywhere ¡¬ RS ¡¬ ÂÛ̳ ¡¬ ר¼Ò·Ã̸ ¡¬ ÏÂÔØ ¡¬ SDN×¨Çø |
|
ChinaUnix -> SYBASE¼¼Êõ -> ÕýÎÄ
Á˽âASEÖеÄÍâ¼üÑéÖ¤¼¼Êõ
¡¡¡¡¿´À´²¢·ÇËùÓеÄÓû§¶¼Á˽âÓÐ¹Ø ASE ÖеÄÍâ¼ü¼¼ÊõµÄһЩÎÊÌâ¡£±¾ÎĽ«Í¨¹ý˵Ã÷һЩÏÊΪÈËÖªµÄÍâ¼üÏÞÖÆÎÊÌâÒÔ¼°ÓÃÓÚÑéÖ¤Íâ¼üµÄ¸÷ÖÖ²éѯ£¬¾¡Á¦Ìî²¹Õâһ֪ʶ¿Õȱ¡£ÎÒÃÇ»¹½«ÑÝʾһÖÖÓÃÀ´·ÖÎöºÍ×ÛºÏÁÙʱ±íµÄ¼¼Êõ¡£ ¡¡¡¡Íâ¼üºÍ ANSI ÍⲿÁ¬½Ó ¡¡¡¡¼Ù¶¨ÎÒÃÇÓÐÁ½¸öÃûΪ FK ºÍ PK µÄ±í(ÆäÒâͼºÜÃ÷ÏÔ)¡£±í FK ¿ÉÒԸ͝£¬ÕâÑù PK ¾Í³ÉÁË FK µÄÖ÷¼ü±í¡£»òÕߣ¬Èç¹ûÍâ¼üÒѾ´æÔÚ£¬ÔòÓÃÅúÁ¿¿½±´³ÌÐò (BCP) ½«Êý¾Ý¸´ÖƵ½±í FK ¼´¿É¡£ÔÚÆäÖÐÈκÎÒ»ÖÖÇé¿öÏ£¬Íâ¼üÏÞÖÆ¶¼ÊÇÎÞЧµÄ£¬¾¡¹ÜÕâЩ²Ù×÷ûÓÐÈκδíÎó¡£ ¡¡¡¡ÎÒÃÇÈçºÎÈ·¶¨ÊÇ·ñ´æÔÚÎÞЧÍâ¼üÄØ£¿Õâ¿ÉÒÔͨ¹ýʹÓà not in, not exists Óï¾ä¡¢º¬ÓÐ group by ×Ó¾äµÄÍⲿÁ¬½Ó»òÁÙʱ±íÀ´Íê³É¡£²»¹ý£¬¶Ô ASE 15.0 °æÒÔϵÄÓû§¶øÑÔ£¬×îÓÐЧµÄ;¾¶ÊÇʹÓà ANSI ÍⲿÁ¬½ÓÓï·¨¡£(ÓйØÏêϸÐÅÏ¢£¬Çë²ÎÔÄ Rob Verschoor µÄ¡¶Tips, Tricks & Recipes for Sybase ASE¡·Ò»Ê飬ÆäÖаüÀ¨ËùÓÐÍâ¼üÁоù²»¿ÉΪ¿ÕʱµÄÐÔÄܱȽϡ£) ¡¡¡¡¼ÙÉè±í FK °üº¬¿ÉÒÔΪ¿ÕµÄÁÐ ¡ªA ºÍ B£¬²¢ÇÒÓë´Ë¶ÔÓ¦µÄÃû³ÆÏàͬµÄÁÐÐγÉÁ˱í PK µÄΨһ¼ü»òÖ÷¼ü£¬ÔòÕÒ³ö FK ±íÖеÄÎÞЧÍâ¼üËùÐèµÄ²éѯΪ£º ¡¡¡¡select FK.A, FK.B ¡¡¡¡from FK ¡¡¡¡left join PK ¡¡¡¡on coalesce (FK.A, PK.A) = PK.A ¡¡¡¡and coalesce (FK.B, PK.B) = PK.B ¡¡¡¡where PK.A is NULL ¡¡¡¡and PK.B is NULL ¡¡¡¡and FK.A is not NULL ¡¡¡¡and FK.B is not NULL ¡¡¡¡Ê²Ã´ÊÇÓÐЧµÄÍâ¼üÖµ£¿ ¡¡¡¡ÓÉÓÚÒýÓÃÔ¼Êø£¬ÄúÆÚÍûÏÖÔÚ¿ÉÒÔ¡°Çå³ý¡±ÈκÎÐÂÊý¾Ý¡£²»¹ý£¬ASE ½öÖ§³Ö×îµÍÍâ¼üÒªÇó¡£Èç¹ûÐÂÐÐµÄ FK.A »ò FK.B Ϊ NULL£¬Ôò(ÔÚ¼ì²é»ò¹æÔòÔ¼ÊøµÄÏÞÖÆ·¶Î§ÄÚ)ÁíÍâÒ»ÁпÉÒÔÊÇÈÎÒâÖµ£¡¸ÃÐÐΪ·ûºÏ ANSI SQL-92 ±ê×¼¡£ ¡¡¡¡Èç¹û´æÔÚ¿ÉÒÔΪ¿ÕµÄÍâ¼üÁУ¬±ÊÕßµ±È»Ï²»¶Óиü¶àÏÞÖÆµÄÐÐΪ¡£ANSI ΪÍâ¼ü¶¨ÒåÈ·¶¨ÁËÁ½¸ö¸½¼ÓÑ¡Ï²»¹ý´ó¶àÊý RDBMS ¾ù²»Ö§³ÖÕâÁ½¸öÑ¡Ïî¡£(¸ù¾Ý ISUG µÄÔöÇ¿¹¦ÄÜÇëÇó 2296£¬Sybase ¼Æ»®½«À´Ö§³ÖÏÂÃæµÄÁ½¸ö ANSI Ñ¡Ïî¡£)²¿·ÖÆ¥Åä (Match Partial) Òâζ×ŶÔÓÚ°üº¬ÈκΠNULL ×Ó¼üµÄÐУ¬¸ÃÐÐµÄ·Ç NULL ×Ó¼ü±ØÐëÖÁÉÙÒªÓÐÒ»¸ö°üº¬ÏàֵͬµÄ¶ÔÓ¦Ö÷¼üÐС£ÍêȫƥÅä (Match Full) ÔòÒâζ×ÅÖ»ÓÐÔÚËùÓÐ×Ó¼ü¾ùΪ NULL ʱ£¬²ÅÔÊÐíÓС°NULL ÐС±¡£Èç¹ûÐèÒªÆäÖÐÒ»¸ö±ê×¼µÄ»°£¬Äú±ØÐëÔÚÍâ¼ü±íÉÏ´´½¨»òÐÞ¸Ä insert ºÍ update ´¥·¢Æ÷¡£Ö÷¼ü±íÉÏ»¹ÐèÒªÓÐ Delete ºÍ update ´¥·¢Æ÷¡£ ¡¡¡¡ÏÖÔÚ£¬ÎÒÃǼÙÉèËùÓÐÔàÊý¾ÝÒѾÐ޸Ĺý£¬²¢ÇÒ³ýÍâ¼üÏÞÖÆÍ⻹´´½¨ÁË´¥·¢Æ÷¡£Õë¶ÔÉÏÊöÑ¡ÏÎÒÃǻص½¡°ÈçºÎÈ·¶¨ÊÇ·ñ´æÔÚÎÞЧÍâ¼ü£¿¡±ÕâÒ»ÎÊÌâÉÏÀ´¡£ÇëÖ´ÐÐÏÂÁзûºÏ²¿·ÖÆ¥ÅäÌõ¼þµÄÓï¾ä£º ¡¡¡¡select FK.A, FK.B ¡¡¡¡from FK ¡¡¡¡left join PK ¡¡¡¡on coalesce (FK.A, PK.A) = PK.A ¡¡¡¡and coalesce (FK.B, PK.B) = PK.B ¡¡¡¡where PK.A is NULL ¡¡¡¡and PK.B is NULL ¡¡¡¡and ((FK.A is not NULL) or (FK.B is not NULL)) ¡¡¡¡ÇëÖ´ÐÐÏÂÁзûºÏÍêȫƥÅäÌõ¼þµÄÓï¾ä£º ¡¡¡¡select FK.A, FK.B ¡¡¡¡from FK ¡¡¡¡left join PK ¡¡¡¡on FK.A = PK.A ¡¡¡¡and FK.B = PK.B ¡¡¡¡where PK.A is NULL ¡¡¡¡and PK.B is NULL ¡¡¡¡and ((FK.A is not NULL) or (FK.B is not NULL)) ¡¡¡¡Èô FK.A ²»¿ÉΪ¿Õ£¬ÔòÓ¦Óà FK.A À´È¡´úºÏ²¢(FK.A¡¢PK.A)£¬²¢ÇÒÈ¥³ýÕâЩ²éѯÖÐ(FK.A ²»¿ÉΪ NULL)µÄÌõ¼þ¡£Õâ»áʹÐÔÄÜÓкܴó²î±ð£¬ÒòΪÉÏÊö SQL ʾÀý»áÓõ½±íɨÃ裬µ«ÈôÊǶԲ»¿ÉΪ¿ÕµÄÁнøÐÐÁ˽¨ÒéµÄ SQL ¸ü¸Ä£¬Ôò½«Ê¹ÓÃË÷Òý¡£ ¡¡¡¡ÒѾдÈëµÄ´æ´¢¹ý³Ì½«¶ÔÖ¸¶¨ÒýÓÃÔ¼Êø¡¢Íâ¼ü±í»òÕû¸öÊý¾Ý¿âÖеÄÈÎÒâÒ»¸öÖ´Ðмì²é¡£ÕâЩ¼ì²é½«Êʵ±µÄÔÚÄÚ²¿Éú³ÉÉÏÊöÃüÁ²¢Í¨¹ý execute immediate À´Ö´ÐÐËüÃÇ¡£(´úÂë¿ÉÔÚÍøÕ¾ www.sybase.com/developer/codexchange µÄ ASE/ Management/Administration ²¿·ÖÖÐÕÒµ½¡£) ¡¡¡¡È¨ÏÞÎÊÌâ ¡¡¡¡ÏÖÔÚ£¬ÎÒÃÇÀ´¿¼ÂÇÒ»¸ö±È½ÏÉî°ÂµÄÎÊÌâ¡£²»¹ÜÊÇ·ñ´æÔÚÍâ¼üÏÞÖÆ£¬±í FK µÄËùÓÐÕß¿ÉÄܲ¢²»¾ß±¸¶Ô±í PK µÄÑ¡ÔñȨÏÞ¡£±í PK µÄËùÓÐÕßÖ»ÄÜÏò±í FK µÄËùÓÐÕßÌṩ¶ÔÁÐ A ºÍ B µÄÒýÓÃȨÏÞ¡£ÔÚÕâÖÖÇé¿öÏ£¬±í FK µÄËùÓÐÕßÎÞ·¨ÑéÖ¤ÆäÊý¾Ý£¬ÒòΪÉÏÊö²éѯÊǶ¯Ì¬Éú³ÉµÄ£¬ÔÚÖ´ÐÐʱÐèÒªÓÐ¶Ô PK.A ºÍ PK.B µÄÑ¡ÔñȨÏÞ¡£¶ÔÓÚ·Çϵͳ¹ÜÀíÔ±µÄÓû§£¬×îºÃÏȼì²éÒ»ÏÂÊÇ·ñ¾ß±¸¶Ô FK ºÍ PK ÁеÄÑ¡ÔñȨÏÞ¡£(ÔÚÕâÀ±ÊÕß¼ÙÉèÁ½¸ö±í´¦ÓÚͬһÊý¾Ý¿âÖС£·ñÔò£¬½öÓà SQL À´È·¶¨ÊÇ·ñ¾ß±¸Ñ¡ÔñȨÏÞÊDz»¿ÉÐеġ£)Èç¹ûÌṩÁËÍâ¼üÏÞÖÆ£¬Ôò¿ÉÒÔͨ¹ý sysreferences ±íÀ´È·¶¨Ö÷¼ü±íºÍÁÐ ID (colid) »òÁÐÃû³Æ¡£Ëæ¼´£¬Í¨¹ýÏÂÁйæÔòÔÚ sysprotects ±íÖÐÈ·¶¨±í»òÁеÄȨÏÞ(ÀýÈ磬select)£º ¡¡¡¡_ Èç¹ûÓû§ÓµÓÐ¸Ã±í£¬ÄÇôÆä±ãÓµÓÐȨÏÞ(³ý·ÇËû³·ÏúÁË×Ô¼ºµÄÒþʽȨÏÞ)¡£ ¡¡¡¡_ ´ËÍ⣬Èç¹ûÓû§ÓµÓжÔÓÐЧ½ÇÉ«µÄÊÚȨÐУ¬ÄÇôÆä±ãÓµÓÐȨÏÞ¡£ ¡¡¡¡_ ´ËÍ⣬Èç¹ûÓû§ÓµÓÐÊÚȨÐУ¬ÄÇôÆä±ãÓµÓÐȨÏÞ¡£ ¡¡¡¡_ ´ËÍ⣬Èç¹û¶ÔÓû§ËùÊôµÄ×éÓµÓÐÊÚȨÐУ¬²¢ÇÒûÓÐ¶ÔÆä³·ÏúÐУ¬ÄÇô¸ÃÓû§±ãÓµÓÐȨÏÞ¡£ ¡¡¡¡Ê¹ÓÃ×Ö·û´®×Ô±äÁ¿/²ÎÊý´úÌæÁÙʱ±í ¡¡¡¡ÉÏÃæÒÑÖ¸³öÓÐÈý¸ö(Ô¼Êø¡¢±í»òÊý¾Ý¿â)´æ´¢¹ý³Ì£¬½«´æ´¢¹ý³Ì(±È·½Ëµ£¬sp_object_access)½øÐбàÂëÒÔ±ã½ö¼ì²é¶Ô FK »ò PK ÁеÄȨÏÞʱ£¬Ó¦ºÜºÃµØ×ñÑÄ£¿é»¯¹æ¶¨¡£ÕâʹÎÒÃÇ¿ÉÒÔ½« colid(ÁÐÃû³Æ)Áбí×÷Ϊµ¥ÁÐÁÙʱ±í´«µÝ¡£´Ó SQL-BackTrack Â߼ת´¢/¸ºÔØÀ´¿´£¬ÕýÈçÎÒÃǺܶàÈ˶¼ÖªµÀ£¬Õâ»áÒý³öÆäËûÂé·³¡£Â߼ת´¢/¸ºÔØÎÞ·¨ÖØÐ´´½¨´æ´¢¹ý³Ì×ÓÀý³Ì£¬¸Ã×ÓÀý³ÌÊÇÓÉÆäËû´æ´¢¹ý³Ì´´½¨µÄÁÙʱ±í¾ö¶¨µÄ¡£ ¡¡¡¡²»¹ý£¬ºÜÈÝÒ×´´½¨Ò»¸ö×Ö·û±äÁ¿ @clist£¬Ëü°üº¬ÓöººÅ¸ô¿ªµÄÁÐ ID(Ãû³Æ)ÒÔÏÂÊÇÍâ¼ü±íµÄ SQL ʾÀý¡£ ¡¡¡¡select @clist = fokey1 || ¡®,¡¯ || fokey2 || ¡®,¡¯ || ¡¡¡¡. . . ¡¡¡¡fokey15 || ¡®,¡¯ || fokey16 || ¡®,0¡¯ ¡¡¡¡from sysreferences ¡¡¡¡where constrid = ¡¡¡¡select @clist = left (@clist, charindex (¡®,0¡¯, @clist) - 1) ¡¡¡¡Ö®ºó£¬±ã¿ÉÒÔͨ¹ýº¬ÓÐ @tableid(¼´Íâ¼ü±íµÄ¶ÔÏó id)ÒÔ¼° @clist ²ÎÊýµÄ sp_object_access ÃüÁîÓÐЧµØ¹¹½¨ÁÙʱ±í£º ¡¡¡¡select @list = @clist -- WANT AN UPDATEABLE COPY OF @clist ¡¡¡¡insert into #oa_colids -- TINYINT COLUMNS colid AND granted ¡¡¡¡select 0, 0 ¡¡¡¡from syscolumns ¡¡¡¡where id = @tableid ¡¡¡¡update #oa_colids ¡¡¡¡set colid = case (charindex (',', @clist)) ¡¡¡¡when 0 then 0 ¡¡¡¡else convert (tinyint, left (@clist, charindex (',', @clist) - 1)) ¡¡¡¡end, ¡¡¡¡@list = substring (@clist, charindex (',', @clist) + 1, 512) ¡¡¡¡delete #oa_colids ¡¡¡¡where colid = 0 ¡¡¡¡ÔÚÕû¸ö±í¸ñÐγɴ˼üµÄÇé¿öÏ£¬¸Ã insert Óï¾ä½«Ìṩ×ã¹»µÄÐС£update Óï¾ä½«Í¨¹ý±íɨÃè¶Ô #oa_colids ½øÐиüС£ÐÐÖ®¼äµÄ @list ÖµºÍ´óСд²Ù×÷Öµ»áÓÐËù¸Ä±ä£¬ÕâÁ½¸ö¸³ÖµÓï¾äµÄ˳ÐòºÜÖØÒª¡£delete Óï¾ä»áɾȥËùÓв»ÐèÒªµÄÐС£ ¡¡¡¡sp_object_access µÄÊ£Óಿ·Ö½«Í¨¹ý @tableid ¡¢proc_role ¹¦ÄÜÒÔ¼°Èô¸Éϵͳ±íÀ´¸üÐÂÒÑÊÚȨµÄÁÐÖµ¡£¸üнáÊøÊ±£¬½«·µ»Ø´æÈ¡Ö¸Ê¾·û(Èô #oa_colids ÖÐÈÎÒâ»ñµÃÊÚȨµÄֵΪ 0£¬Ôòָʾ·ûΪ 0£»·ñÔò£¬Îª 1)¡£Öµ 1 µÄָʾ·û±íÃ÷£¬¸ÃÑ¡ÔñȨÏÞÒѾ×ã¹»¡£ÉÏÊö¼¼Êõ»¹¿ÉÓÃÓÚ ¡¡¡¡µ½Ä¿Ç°ÎªÖ¹£¬¸Ä±äÒ³Ãæ´óСËùÔì³ÉµÄÓ°Ïì×î´ó¡£×îСµÄ¿Õ¼ä·ÖÅ䵥ԪΪ£º°Ë¸öÊý¾ÝÒ³´óС¡£Òò¶ø£¬2K µÄÒ³ÃæËù·ÖÅäµÄ¿Õ¼äΪ 16K£¬4K µÄÒ³ÃæËù·ÖÅäµÄ¿Õ¼äΪ 32K£¬8K µÄÒ³ÃæËù·ÖÅäµÄ¿Õ¼äΪ 64K£¬¶ø 16K µÄÒ³ÃæËù·ÖÅäµÄ¿Õ¼äΪ 128K¡£½Ï´óµÄÊý¾Ý¼¯»á´Ó½Ï´óµÄÒ³ÃæÖÐÊÜÒæ£¬µ«½ÏСµÄÊý¾Ý¼¯»áÓ°ÏìÐÔÄÜ¡£ ¡¡¡¡Èç¹ûÄúµÄ±í¸ñºÜС£¬±È·½ËµÖ»Óм¸ÐУ¬ËüÈÔ½«Õ¼ÓÃij¸öÒ³ÃæÏ޶ȵÄ×îС¿Õ¼ä¡£Òò´Ë£¬Ò³Ãæ´óС 16K Óë 128K Ö®¼äµÄ²îÒì±äµÃ¸ü¼ÓÃ÷ÏÔ¡£Èç¹û×î³õ¸ÃÊý¾ÝÈ«²¿Î»ÓÚÒ»¸ö 2K µÄÒ³ÃæÉÏ£¬½«ÆäÒÆÖÁ 16K µÄÒ³ÃæÉϾÍÒâζ×ÅÄú×îÖÕ»áÀË·Ñ 126K µÄ¿Õ¼ä¡£ ¡¡¡¡Èç¹ûÄúÓкܶàÕâÑùµÄС±í¸ñ£¬Ôò×îÖÕ½á¹û²»ÑÔ¶øÓ÷¡£ÕâҲͬÑùÊÊÓÃÓÚË÷Òý¡£Ë÷ÒýÓÐËüÃÇ×Ô¼ºµÄÏÞ¶È¡£ÇëÏàÓ¦µØ¼Æ»®ÄúÐ޸ĵÄÈÝÁ¿¡£ ¡¡¡¡Èç¹ûÄú´òËã»»ÓýϴóµÄÒ³ÃæÒÔÈÝÄɼ¸¸ö½Ï´óµÄ±í¸ñ£¬Ôò×îºÃÔÚתÖÁ×î´óµÄÒ³ÃæÖ®Ç°£¬Ïȳ¢ÊÔʹÓÃÒ»¸öÖмä³ß´çµÄÒ³Ãæ¡£ÁíÒ»·½Ã棬Èç¹ûÄúÏëÈÝÄɽϿíµÄÐУ¬ÔòÐÞ¸ÄÊý¾ÝÄ£ÐÍÒ²ÊÇÒ»ÖÖÌæ´ú·½°¸¡£´ËÍ⣬ÀμǴóÒ³Ãæ¶ÔÊý¾Ý¸ßËÙ»º´æµÄÓ°Ïì¡£ÄÚ´æÊ¼ÖÕ°´ÕÕÂß¼µ¥Î» 2K À´·ÖÅ䡣ʹÓýϴóµÄÒ³ÃæÒâζ×Å£¬µ±ÄúʹÓÃͬµÈ´óСµÄ»º´æÊ±£¬Ö»ÓÐÉÙÁ¿µÄ»º³åÇø¿É¹©Ê¹Óá£ÄúÐèÒª¶ÔÕâЩÏî½øÐе÷Õû£¬¿ÉÏò»º´æÔö¼Ó¸ü¶àÄÚ´æÒÔ½øÐв¹³¥¡£ ¡¡¡¡ÒÆÖ²µ½ÆäËû¹©Ó¦É̵ÄÊý¾Ý¿â²úÆ·ÖÐÒ²»áµ¼ÖÂÒâÍâµÄÈÝÁ¿±ä»¯¡£Çë²éÔÄÏà¹ØÎĵµ£¬²¢Ïò¶ÔÕâЩ²úÆ·ÓµÓзḻ¾ÑéµÄ DBA ×Éѯ¡£¾ÙÀýÀ´Ëµ£¬±ÊÕßÔø¾ÓÐһλ¿Í»§£¬ËûÓµÓÐÒ»¸ö 2GB СÊý¾Ý¿â¡£ÈýÄêÀ´£¬¸ÃÊý¾Ý¿âÔÚʹÓùý³ÌÖдÓδ³öÏÖ¹ýÈÝÁ¿ÎÊÌâ¡£1999 Ä꣬µÚÈý·½¹©Ó¦ÉÌ֪ͨÎҵĿͻ§£¬ËûÃÇÓöµ½ÁË Y2K ÎÊÌ⣬¶øËûÃǵIJúÆ·Éý¼¶°æ±¾²»ÔÙÔÚºǫ֧́³Ö Sybase ASE¡£¸Ã¹©Ó¦É̽¨Ò齫Êý¾Ý¿âÒÆÖ²µ½ Oracle ÖС£ÓÉÓÚÎÒ¶Ô´ËÒ»Çϲ»Í¨£¬ÓÚÊÇÇëÁËһλ Oracle DBA¡£Ëû½¨ÒéʹÓà 6GB µÄ Oracle Êý¾Ý¿â¡£ ¡¡¡¡Æð³õ£¬ÎÒ¶ÔÆäÖеÄÔÒò¸Ðµ½ºÜÀ§»ó£¬²¢¾ªÑȵط¢ÏÖÔÚÁù¸öÔµÄÒÆÖ²¹ý³ÌÖУ¬¸ÃÊý¾Ý¿â´óС½«Ôö´óÖÁ 9GB¡£Ò»Äêºó£¬ÎÒÏÈǰµÄ¿Í»§ºÃ²»ÈÝÒ×½«ÈÝÁ¿ÔÙ´ÎÐÞ¸ÄΪ 18GB¡£¶Á¹ý Brian Ceccarelli ÔÚËûµÄÍøÕ¾(ÍøÖ·Îª www.talus software.com)ÉÏ·¢±íµÄÆÀÂÛºó£¬ÎÒÏÖÔÚÖªµÀÆäÖеÄÔÒòÁË¡£¿´À´ Oracle ûÄܺܺõØÀûÓñ¾µØµÄÊý¾ÝÀàÐÍ¡£Õâ¸ö¾ÀúÇå³þµØ±íÃ÷£¬DBA ΪʲôÔÚÒÆÖ²Ê±Ê¼ÖÕÒª½«´ËÀàÈÝÁ¿¹æ»®ÎÊÌâÀμÇÔÚÐÄ¡£ ¡¡¡¡×¢£ºÓÐЩÈËÔڻع˱¾ÎÄǰ°ë²¿·ÖËæ¸½µÄ½Å±¾Ê¾Àýʱ£¬·¢ÏÖ±ÊÕßÎÞÒâÖмٶ¨´æ´¢¹ý³Ì get_database_summary(ÔÚÎļþ dbsummary.sql ÖÐ)µÄÒ³Ãæ´óСΪ 2K¡£½Å±¾ÒÔ¼° ISUG ÍøÕ¾·¢²¼µÄ°æ±¾ÒѾ¶Ô´Ë´¦½øÐÐÁ˸üÕý¡£ ¡¡¡¡½áÊøÓï ¡¡¡¡ÕýÈç±¾ÎĵĵÚÒ»²¿·ÖËùÌáµ½µÄ£¬±ÊÕ߸öÈËʹÓõÄÊÇÓà Perl ±àдµÄ½Å±¾¡£¸Ã½ø³ÌµÄ×Ô¶¯»¯³Ì¶È±ÈÎÒÃÇËù½éÉܵĽø³ÌÒª¸ß¡£²»¹ý£¬»ù±¾¹¹Ôì¿éÕâÀï¶¼ÓУ¬Ëü×ãÒÔΪ¸ü¼Ó¸´ÔÓµÄϵͳµì¶¨»ù´¡¡£ÓÐʱÄú»áºÜ±»¶¯(tempdb Ìî³ä»òÈÕÖ¾³öÈËÒâÁϱäÂú)£¬´ó¶àÊýÇé¿öÏÂÄúÓ¦¸Ã³¢ÊÔºóÍËÒ»²½£¬ÕÒ³ö¸ÃÎÊÌâµÄʵ¼Ê¸ùÔ´£¬¶ø²»ÊǼÌÐø´¦Àí½ô¼±Ê¼þ¡£×ÜÌåÄ¿±êÊǰïÖú DBA ¸ü¼ÓÖ÷¶¯µØ¹ÜÀíËûÃǵÄϵͳ¡£ _ ¡¡¡¡N Áбí¿É´«µÝ N varchar ²ÎÊý£¬ÇÒ update Óï¾äÖк¬ÓÐ 2N ¸³Öµ×Ӿ䡣±ÊÕß»¹Ã»Óг¢ÊÔ½«¸Ã¼¼ÊõÓÃÓÚ¶àÁбí»ò¿ÉÒÔΪ¿ÕµÄÊý¾ÝÀàÐÍ¡£ ¡¡¡¡ÔÚÈ·¶¨Ë÷ÒýµÄÑ¡ÔñÐÔʱ£¬Ò²Óмì²éÁÐȨÏÞµÄÀàËÆÐèÒª£ºÈç¹ûÌṩÁËÈ«²¿Ë÷Òý¼üµÄÓÐЧֵ£¬Ôò¿Éͨ¹ý select ×Ӿ䷵»ØÐÐµÄÆ½¾ùÊý¡£(ÓÐʱ»á½«Ñ¡ÔñÐÔ¶¨ÒåΪ°Ù·Ö±È¡£)ΨһË÷Òý¾ßÓÐ×î¼ÑµÄ·ÇѰ³£Ñ¡ÔñÐÔÖµ 1¡£¿Éͨ¹ýÒÔÏÂÃüÁîÈ·¶¨Ñ¡ÔñÐÔ£º ¡¡¡¡select selectivity = avg (count ( ¡¡¡¡from
|
|
|