ʵÀý¶Ô±ÈOracleÖÐtruncateºÍdeleteµÄÇø±ð
ʵÀý¶Ô±ÈOracleÖÐtruncateºÍdeleteµÄÇø±ð
ɾ³ý±íÖеÄÊý¾ÝµÄ·½·¨ÓÐdelete,truncate,
ËüÃǶ¼ÊÇɾ³ý±íÖеÄÊý¾Ý,¶ø²»ÄÜɾ³ý±í½á¹¹,delete ¿ÉÒÔɾ³ýÕû¸ö±íµÄÊý¾ÝÒ²¿ÉÒÔɾ³ý±íÖÐijһÌõ»òNÌõÂú×ãÌõ¼þµÄÊý¾Ý,¶øtruncateÖ»ÄÜɾ³ýÕû¸ö±íµÄÊý¾Ý,Ò»°ãÎÒÃÇ°Ñdelete ²Ù×÷ÊÕ×÷ɾ³ý±í,¶øtruncate²Ù×÷½Ð×÷½Ø¶Ï±í.
truncate²Ù×÷Óëdelete²Ù×÷¶Ô±È
²Ù×÷
»Ø¹ö
¸ßË®Ïß
¿Õ¼ä
ЧÂÊ
Truncate
²»ÄÜ
Ͻµ
»ØÊÕ
¿ì
delete
¿ÉÒÔ
²»±ä
²»»ØÊÕ
Âý
ÏÂÃæ·Ö±ðÓÃʵÀý²é¿´ËüÃǵIJ»Í¬
1.»Ø¹ö
Ê×ÏÈÒªÃ÷°×Á½µã
1.ÔÚoracle ÖÐÊý¾Ýɾ³ýºó»¹ÄܻعöÊÇÒòΪËü°ÑÔʼÊý¾Ý·Åµ½ÁËundo±í¿Õ¼ä,
2.DMLÓï¾äʹÓÃundo±í¿Õ¼ä,DDLÓï¾ä²»Ê¹ÓÃundo,¶ødeleteÊÇDMLÓï¾ä,truncateÊÇDDLÓï¾ä,±ðÍâDDLÓï¾äÊÇÒþʽÌá½».
ËùÒÔtruncate²ÙÓò»Äܻعö,¶ødelete²Ù×÷¿ÉÒÔ.
Á½ÖÖ²Ù×÷¶Ô±È(Ê×ÏÈн¨Ò»¸ö±í,²¢²åÈëÊý¾Ý)
SQL> create table t
2 (
3 i number
4 );
Table created.
SQL> insert into t values(10);
SQL> commit;
Commit complete.
SQL> select * from t;
I
----------
10
Deleteɾ³ý,È»ºó»Ø¹ö
SQL> delete from t;
1 row deleted.
SQL> select * from t;
no rows selected
#ɾ³ýºó»Ø¹ö
SQL> rollback;
Rollback complete.
SQL> select * from t;
I
----------
10
Truncate½Ø¶Ï±í,È»ºó»Ø¹ö.
SQL> truncate table t;
Table truncated.
SQL> rollback;
Rollback complete.
SQL> select * from t;
no rows selected
¿É¼ûdeleteɾ³ý±í»¹¿ÉÒԻعö,¶øtruncate½Ø¶Ï±í¾Í²»ÄܻعöÁË.(Ç°ÌáÊÇdelete²Ù×÷ûÓÐÌá½»)
2.¸ßË®Ïß
ËùÓеÄOracle±í¶¼ÓÐÒ»¸öÈÝÄÉÊý¾ÝµÄÉÏÏÞ£¨ºÜÏóÒ»¸öË®¿âÀúÊ·×î¸ßµÄˮ룩£¬ÎÒÃÇ°ÑÕâ¸öÉÏÏÞ³ÆΪ“high water mark”»òHWM¡£Õâ¸öHWMÊÇÒ»¸ö±ê¼Ç(רÃÅÓÐÒ»¸öÊý¾Ý¿éÓÃÀ´¼Ç¼¸ßË®±ê¼ÇµÈ)£¬ÓÃÀ´ËµÃ÷ÒѾÓжàÉÙÊý¾Ý¿é·ÖÅä¸øÕâ¸ö±í. HWMͨ³£Ôö³¤µÄ·ù¶ÈΪһ´Î5¸öÊý¾Ý¿é.
deleteÓï¾ä²»Ó°Ïì±íËùÕ¼ÓõÄÊý¾Ý¿é, ¸ßË®Ïß(high watermark)±£³ÖÔλÖò»¶¯
truncate Óï¾äȱʡÇé¿öÏ¿ռäÊÍ·Å,³ý·ÇʹÓÃreuse storage; truncate»á½«¸ß
Ïà¹ØÎĵµ£º
ÔÚoracleÖУ¬ÎÒÃÇ´´½¨Ò»¸öÖ÷¼ü£¬Ôòͬʱ×Ô¶¯´´½¨ÁËÒ»¸öͬÃûµÄΨһË÷Òý£»É¾³ýÖ÷¼ü£¬ÔòÖ÷¼üÔ¼ÊøºÍ¶ÔÓ¦µÄΨһË÷Òý¶¼É¾³ýÁË¡£ÕâÊÇÎÒÃǾ³£¼ûµ½µÄÏÖÏó¡£
·¢³öÒ»¸ö´´½¨Ö÷¼üµÄsql£¬oracleÆäʵִÐÐÁËÁ½²½£º´´½¨Ö÷¼üÔ¼Êø¡¢´´½¨/¹ØÁª ΨһË÷Òý¡£²½ÖèÊÇÕâÑùµÄ£º
´´½¨Ö÷¼üÔ¼Êøʱ£¬¼ì²é¸ÃÖ÷¼ü×Ö¶ÎÉÏÊÇ·ñÒѾ´æÔÚΨһË÷Òý¡£Èô² ......
SOURCE: CLICK HERE
±¾ÎĽ²ÊöSQL Server¡¢Oracle¡¢MySQL²é³öֵΪNULLµÄÌæ»»¡£
ÔÚSQL Server Oracle MySQLµ±Êý¾Ý¿âÖвé³öijֵΪNULLÔõô°ì?
1¡¢MSSQL: ISNULL()
Óï·¨
ISNULL ( check_expression , replacement_value )
²ÎÊý
check_expression
½«±»¼ì²éÊÇ·ñΪ NULLµÄ±í´ïʽ¡£check_expression ¿ÉÒÔÊÇÈκÎÀàÐ͵ġ£
re ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬
......
OracleÉó¼Æ¹¦ÄÜ
Ò»¡¢ Éó¼Æ·ÖÀࣺ
OracleÖÐÉó¼Æ×ÜÌåÉÏ¿É·ÖΪ“±ê×¼Éó¼Æ”ºÍ“ϸÁ£¶ÈÉó¼Æ”ºóÕßÒ²³ÆΪ“»ùÓÚÕþ²ßµÄÉó¼Æ”£¬ÔÚOracle10GÖ®ºó¹¦Äܵõ½ºÜ´óÔöÇ¿¡£ÆäÖбê×¼Éó¼Æ¿É·ÖΪÓû§¼¶Éó¼ÆºÍϵͳ¼¶Éó¼Æ¡£Óû§¼¶Éó¼ÆÊÇÈκÎOracleÓû§¿ÉÉèÖõÄÉó¼Æ£¬Ö÷ÒªÊÇÓû§Õë¶Ô×Ô¼º´´½¨ ......
in ÊÇ°ÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊÇ°ÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö ......