´øÄãÇáËɽӴ¥OracleÖ´Ðмƻ®µÄÏà¹Ø¸ÅÄî
OracleÖ´Ðмƻ®µÄÏà¹Ø¸ÅÄ
rowid£ºÏµÍ³¸øoracleÊý¾ÝµÄÿÐи½¼ÓµÄÒ»¸öαÁУ¬°üº¬Êý¾Ý±íÃû³Æ£¬Êý¾Ý¿âid£¬´æ´¢Êý¾Ý¿âidÒÔ¼°Ò»¸öÁ÷Ë®ºÅµÈÐÅÏ¢£¬rowidÔÚÐеÄÉúÃüÖÜÆÚÄÚΨһ¡£
recursive sql£ºÎªÁËÖ´ÐÐÓû§Óï¾ä£¬ÏµÍ³¸½¼ÓÖ´ÐеĶîÍâ²Ù×÷Óï¾ä£¬Æ©Èç¶ÔÊý¾Ý×ÖµäµÄά»¤µÈ¡£
row source£¨ÐÐÔ´£©£ºoracleÖ´Ðв½Öè¹ý³ÌÖУ¬ÓÉÉÏÒ»¸ö²Ù×÷·µ»ØµÄ·ûºÏÌõ¼þµÄÐеļ¯ºÏ¡£
predicate£¨Î½´Ê£©£ºwhereºóµÄÏÞÖÆÌõ¼þ¡£
driving table£¨Çý¶¯±í£©£ºÓÖ³ÆÎªÁ¬½ÓµÄÍâ²ã±í£¬Ö÷ÒªÓÃÓÚǶÌ×ÓëhashÁ¬½ÓÖС£Ò»°ãÀ´ËµÊǽ«Ó¦ÓÃÏÞÖÆÌõ¼þºó£¬·µ»Ø½ÏÉÙÐÐÔ´µÄ±í×÷ΪÇý¶¯±í¡£ÔÚºóÃæµÄÃèÊöÖУ¬½«driving table³ÆÎªÁ¬½Ó²Ù×÷µÄrow source 1¡£
probed table£¨±»Ì½²é±í£©£ºÁ¬½ÓµÄÄÚ²ã±í£¬ÔÚÎÒÃÇ´Ódriving tableµÃµ½¾ßÌåµÄÒ»ÐÐÊý¾Ýºó£¬ÔÚprobed tableÖÐѰÕÒ·ûºÏÌõ¼þµÄÐУ¬ËùÒԸñíÓ¦¸ÃΪ½Ï´óµÄrow source£¬²¢ÇÒ¶ÔÓ¦Á¬½ÓÌõ¼þµÄÁÐÉÏÓ¦¸ÃÓÐË÷Òý¡£ÔÚºóÃæµÄÃèÊöÖУ¬Ò»°ã½«¸Ã±í³ÆÎªÁ¬½Ó²Ù×÷µÄrow source 2.
concatenated index£¨×éºÏË÷Òý£©£ºÒ»¸öË÷ÒýÈç¹ûÓɶàÁй¹³É£¬ÄÇô¾Í³ÆÎª×éºÏË÷Òý£¬×éºÏË÷ÒýµÄµÚÒ»ÁÐΪÒýµ¼ÁУ¬Ö»ÓÐν´ÊÖаüº¬Òýµ¼ÁÐʱ£¬Ë÷Òý²Å¿ÉÓá£
¿ÉÑ¡ÔñÐÔ£º±íÖÐijÁеIJ»Í¬ÊýÖµÊýÁ¿/±íµÄ×ÜÐÐÊýÈç¹û½Ó½üÓÚ1£¬ÔòÁеĿÉÑ¡ÔñÐÔΪ¸ß¡£
oracle·ÃÎÊÊý¾ÝµÄ´æÈ¡·½·¨£º
full table scans, fts(È«±íɨÃè)£ºÍ¨¹ýÉèÖÃdb_block_multiblock_read_count¿ÉÒÔÉèÖÃÒ»´ÎioÄܶÁÈ¡µÄÊý¾Ý¿é¸öÊý£¬´Ó¶øÓÐЧ¼õÉÙÈ«±íɨÃèʱµÄio×Ü´ÎÊý£¬Ò²¾ÍÊÇͨ¹ýÔ¤¶Á»úÖÆ½«½«Òª·ÃÎʵÄÊý¾Ý¿éÔ¤ÏȶÁÈëÄÚ´æÖС£Ö»ÓÐÔÚÈ«±íɨÃèÇé¿öϲÅÄÜʹÓöà¿é¶Á²Ù×÷¡£
table access by rowed£¨Í¨¹ýrowid´æÈ¡±í£¬rowid lookup£©£ºÓÉÓÚrowidÖмǼÁËÐд洢µÄλÖã¬ËùÒÔÕâÊÇoracle´æÈ¡µ¥ÐÐÊý¾ÝµÄ×î¿ì·½·¨¡£
index scan£¨Ë÷ÒýɨÃèindex lookup£©£ºÔÚË÷ÒýÖУ¬³ýÁ˴洢ÿ¸öË÷ÒýµÄÖµÍ⣬Ë÷Òý»¹´æ´¢¾ßÓдËÖµµÄÐжÔÓ¦µÄrowidÖµ£¬Ë÷ÒýɨÃè·ÖÁ½²½1£¬É¨ÃèË÷ÒýµÃµ½rowid£»2£¬Í¨¹ý rowid¶ÁÈ¡¾ßÌåÊý¾Ý¡£Ã¿²½¶¼Êǵ¥¶ÀµÄÒ»´Îio£¬ËùÒÔÈç¹ûÊý¾Ý¾ÏÞÖÆÌõ¼þ¹ýÂ˺óµÄ×ÜÁ¿´óÓÚÔ±í×ÜÐÐÊýµÄ5%£10£¥,ÔòʹÓÃË÷ÒýɨÃèЧÂÊϽµºÜ¶à¡£¶øÈç¹û½á¹ûÊý¾ÝÄܹ»È«²¿ÔÚË÷ÒýÖÐÕÒµ½£¬Ôò¿ÉÒÔ±ÜÃâµÚ¶þ²½²Ù×÷£¬´Ó¶ø¼Ó¿ì¼ìË÷ËÙ¶È¡£
¸ù¾ÝË÷ÒýÀàÐÍÓëwhereÏÞÖÆÌõ¼þµÄ²»Í¬£¬ÓÐ4ÖÖÀàÐ͵ÄË÷ÒýɨÃ裺
index unique scan£¨Ë÷ÒýΨһɨÃ裩£º´æÔÚunique»òÕßprimary keyµÄÇé¿öÏ£¬·µ»Øµ¥¸örowidÊý¾ÝÄÚÈÝ¡£
index range scan£¨Ë÷Òý·¶Î§É¨Ã裩£º1£¬ÔÚΨһË÷ÒýÉÏʹÓÃÁËrange²Ù×÷·û£¨>
Ïà¹ØÎĵµ£º
±íÀàÐÍ£º
1¶Ñ×éÖ¯±í£¨heap organized table£©£ºÕâЩ¾ÍÊÇ“ÆÕͨ”µÄ±ê×¼Êý¾Ý¿â±í¡£Êý¾ÝÒԶѵķ½Ê½¹ÜÀí¡£¶Ñ£¨heap£©ÊÇÒ»×é¿Õ¼ä£¬ÒÔÒ»ÖÖÓÐÐ©Ëæ»úµÄ·½Ê½Ê¹Óá£
2Ë÷Òý×éÖ¯±í£¨index organized table£©£ºÕâЩ±í°´Ë÷Òý½á¹¹´æ´¢¡£Õâ¾ÍÇ¿ÖÆÒªÇóÐб¾ÉíÓÐijÖÖÎïÀí˳Ðò¡£Ë÷Òý×éÖ¯±íIOTÖУ¬Êý¾ÝÒª¸ù¾ÝÖ÷¼üÓÐÐòµØ´æ´¢¡£
3Ë÷Ò ......
×ܽáÁËÒ»ÏÂɾ³ýÖØ¸´¼Ç¼µÄ·½·¨£¬ÒÔ¼°Ã¿ÖÖ·½·¨µÄÓÅȱµã¡£
¼ÙÉè±íÃûΪTbl£¬±íÖÐÓÐÈýÁÐcol1£¬col2£¬col3£¬ÆäÖÐcol1£¬col2ÊÇÖ÷¼ü£¬²¢ÇÒ£¬col1£¬col2ÉϼÓÁËË÷Òý¡£
1¡¢Í¨¹ý´´½¨ÁÙʱ±í
¿ÉÒÔ°ÑÊý¾ÝÏȵ¼Èëµ½Ò»¸öÁÙʱ±íÖУ¬È»ºóɾ³ýÔ±íµÄÊý¾Ý£¬ÔÙ°ÑÊý¾Ýµ¼»ØÔ±í£¬SQLÓï¾äÈçÏ£º
creat table tbl_tmp (select distinct* from tb ......
PL/SQL
¿é½á¹¹
DECLARE
ÉùÃ÷²¿·Ö
BEGIN
¿ÉÖ´Ðв¿·Ö
EXCEPTION
Òì³£´¦Àí²¿·Ö
END;
Àý£º
Ê×ÏÈÎÒÃÇ¿´Ò»¸ö¼òµ¥Ö®Àý×Ó,ÏÂÃæÕâ¸öÀý×ÓÊÇͳ¼Æ´Ó1 ......
C#ÖвÙ×÷OracleʱµÄSQLÓï¾ä²ÎÊýµÄÓ÷¨
OracleTransaction myTrans ;
conn.Open();
myTrans =conn.BeginTransaction(IsolationLevel.ReadCommitted) ......
°´±í·½Ê½µÄµ¼³ö£¬µ¼Èë
exp SYSTEM/SYSTEM@SBJSDB00 TABLES=KOKAN90.MASTER_SEND_LIMIT LOG=C:\A.LOG
IMP SYSTEM/SYSTEM@SBJSDB00 IGNORE=Y FULL=Y LOG=C:\B.LOG
֮ǰÓùýºÜ¶àÓï¾ä¶¼±¨´í£¬µÃµ½µÄ½ÌѵÊÇ ÏÈÖ´ÐÐexp SYSTEM/SYSTEM@SBJSDB00£¬°´Ìáʾһ²½²½ÊäÈë³É¹¦¹ýºó£¬ÔÙ°ÑÌáʾ·Òë³É²ÎÊýºÍ²ÎÊýÖµ
¹ØÓÚ²ÎÊý˵Ã÷Óà exp hel ......