SQL ÖÐ Delete¡¢Truncate¡¢DropÇø±ð
ɾ³ý±í¼Ç¼£¬¿ìËÙɾ³ý±í¼Ç¼£¬É¾³ý±íÕâЩÓï¾äÏàÐÅ´ó¼Ò¶¼»á£¬ÏÂÃæÕûÀíÒ»ÏÂTruncate¡¢delete¡¢dropÓ÷¨Çø±ð£º
Ïàͬµã
truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain),´¥·¢Æ÷(trigger),Ë÷Òý(index); ÒÀÀµÓڸñíµÄ´æ´¢¹ý³Ì/º¯Êý½«±£Áô,µ«ÊDZäΪinvalid״̬.
2.deleteÓï¾äÊÇdml,Õâ¸ö²Ù×÷»á·Åµ½rollback segementÖÐ,ÊÂÎñÌá½»Ö®ºó²ÅÉúЧ;Èç¹ûÓÐÏàÓ¦µÄtrigger,Ö´ÐеÄʱºò½«±»´¥·¢.
truncate,dropÊÇddl, ²Ù×÷Á¢¼´ÉúЧ,ÔÊý¾Ý²»·Åµ½rollback segmentÖÐ,²»Äܻعö. ²Ù×÷²»´¥·¢trigger.
3.deleteÓï¾ä²»Ó°Ïì±íËùÕ¼ÓõÄextent, ¸ßË®Ïß(high watermark)±£³ÖÔλÖò»¶¯
ÏÔÈ»dropÓï¾ä½«±íËùÕ¼ÓõĿռäÈ«²¿ÊÍ·Å
truncate Óï¾äȱʡÇé¿öϼû¿Õ¼äÊͷŵ½ minextents¸ö extent,³ý·ÇʹÓÃreuse storage; truncate»á½«¸ßË®Ï߸´Î»(»Øµ½×ʼ).
4.ËÙ¶È,Ò»°ãÀ´Ëµ: drop>; truncate >; delete
5.°²È«ÐÔ:СÐÄʹÓÃdrop ºÍtruncate,ÓÈÆäûÓб¸·ÝµÄʱºò.·ñÔò¿Þ¶¼À´²»¼°
ʹÓÃÉÏ,Ïëɾ³ý²¿·ÖÊý¾ÝÐÐÓÃdelete,×¢Òâ´øÉÏwhere×Ó¾ä. »Ø¹ö¶ÎÒª×ã¹»´ó.
Ïëɾ³ý±í,µ±È»ÓÃdrop
Ïë±£Áô±í¶ø½«ËùÓÐÊý¾Ýɾ³ý. Èç¹ûºÍÊÂÎñÎÞ¹Ø,ÓÃtruncate¼´¿É. Èç¹ûºÍÊÂÎñÓйØ,»òÕßÏë´¥·¢trigger,»¹ÊÇÓÃdelete.
Èç¹ûÊÇÕûÀí±íÄÚ²¿µÄË鯬,¿ÉÒÔÓÃtruncate¸úÉÏreuse stroage,ÔÙÖØÐµ¼Èë/²åÈëÊý¾Ý
ÎÄÕÂÀ´×ÔѧITÍø£ºhttp://www.xueit.com/html/2009-10-06/26-101899836978.html
TRUNCATE TABLE ºÍ²»´ø WHERE µÄ DELETE ¹¦ÄÜÊÇÒ»ÑùµÄ£¬¶¼ÊÇɾ³ý±íÖеÄËùÓÐÊý¾Ý£¬²»¹ý TRUNCATE TABLE Ëٶȸü¿ì£¬Õ¼ÓõÄÈÕÖ¾¸üÉÙ£¬ÕâÊÇÒòΪ TRUNCATE TABLE Ö±½ÓÊÍ·ÅÊý¾ÝÒ³²¢ÇÒÔÚÊÂÎñÈÕÖ¾ÖÐÒ²Ö»¼Ç¼Êý¾ÝÒ³µÄÊÍ·Å£¬¶ø DELETE ÊÇÒ»ÐÐÒ»ÐеØÉ¾³ý£¬ÔÚÊÂÎñÈÕÖ¾ÖÐÒª¼Ç¼ÿһÌõ¼Ç¼µÄɾ³ý¡£
ÄÇô¿É²»¿ÉÒÔÓà TRUNCATE TABLE ´úÌæ²»´ø WHERE µÄ DELETE ÄØ£¿ÔÚÒÔÏÂÇé¿öÊDz»Ðеģº
1¡¢Òª±£Áô±êʶµÄÇé¿öϲ»ÄÜÓà TRUNCATE TABLE£¬ÒòΪ TRUNCATE TABLE »áÖØÖñêʶ¡£
2¡¢ÐèҪʹÓô¥·¢Æ÷µÄÇé¿öϲ»ÄÜʹÓà TRUNCATE TABLE £¬Ëü²»»á¼¤·¢´¥·¢Æ÷¡£
3¡¢¶ÔÓÚÓÉ FOREIGN KEY Ô¼ÊøÒýÓÃµÄ±í£¨¼´Ö÷¼üËùÔÚµÄ±í£¬²»ÊÇÍâ¼üËùÔÚµÄ±í£©²»ÄÜʹÓà TRUNCATE TABLE¡£
4¡¢¶ÔÓÚ²ÎÓëÁËË÷ÒýÊÓͼµÄ±í²»ÄÜʹÓà TRUNCATE TABLE £¬×¢ÒâÖ¸Ë÷ÒýÊÓͼ£¬²¢·ÇÆÕͨÊ
Ïà¹ØÎĵµ£º
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬ÎÒÃǾ³£»áÓõ½hint,ÏÖ×ܽáÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle
HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿ ......
ͨ³££¬ÄãÐèÒª»ñµÃµ±Ç°ÈÕÆÚºÍ¼ÆËãһЩÆäËûµÄÈÕÆÚ£¬ÀýÈ磬ÄãµÄ³ÌÐò¿ÉÄÜÐèÒªÅжÏÒ»¸öÔµĵÚÒ»Ìì»òÕß×îºóÒ»Ìì¡£ÄãÃǴ󲿷ÖÈË´ó¸Å¶¼ÖªµÀÔõÑù°ÑÈÕÆÚ½øÐзָÄê¡¢Ô¡¢Èյȣ©£¬È»ºó½ö½öÓ÷ָî³öÀ´µÄÄê¡¢Ô¡¢ÈյȷÅÔÚ¼¸¸öº¯ÊýÖмÆËã³ö×Ô¼ºËùÐèÒªµÄÈÕÆÚ£¡ÔÚÕâÆªÎÄÕÂÀÎÒ½«¸æËßÄãÈçºÎʹÓÃDATEADDºÍDATEDIFFº¯ÊýÀ´¼ÆËã³öÔÚÄãµÄ³ÌÐòÖ ......
»¹ÊÇһתÌû£¬×ܽáµÄ²»´í£¬´ó¼Ò½è¼ø¡£
ÔÍøÖ·£º
http://database.ctocio.com.cn/222/9068222.shtml
1¡¢Ã»ÓÐË÷Òý»òÕßûÓÐÓõ½Ë÷Òý(ÕâÊDzéѯÂý×î³£¼ûµÄÎÊÌ⣬ÊdzÌÐòÉè¼ÆµÄȱÏÝ)
¡¡¡¡2¡¢I/OÍÌÍÂÁ¿Ð¡£¬ÐγÉÁËÆ¿¾±Ð§Ó¦¡£
¡¡¡¡3¡¢Ã»Óд´½¨¼ÆËãÁе¼Ö²éѯ²»ÓÅ»¯¡£
¡¡¡¡4¡¢ÄÚ´æ²»×ã
¡¡¡¡5¡¢ÍøÂçËÙ¶ÈÂý
¡¡¡¡6¡¢²éѯ³ö ......
SELECT
(case when a.colorder=1 then d.name else '' end)±íÃû,
a.colorder ×Ö¶ÎÐòºÅ,
a.name ×Ö¶ÎÃû,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity ......