SQL ºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ
¼ò½é
¡¡¡¡±¾ÎĽ²ÊöMS SQL ServerºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ£¬ÒÔ¼°OracleÈçºÎ¶ÔÊÂÎñ´¦ÀíµÄʵÏÖ¡£
¡¡¡¡Ê²Ã´ÊÇÊÂÎñ
¡¡¡¡Êý¾Ý¿âÊÂÎñ(Database Transaction)ÊÇÒ»×éÊý¾Ý¿â²Ù×÷µÄ´¦Àíµ¥Ôª¡£ÊÂÎñ·ûºÏACIDµÄÌØÐÔ£º
¡¡¡¡Atomic:Ô×ÓÐÔ£¬ÒªÃ´È«²¿ÒªÃ´Ò»ÎÞËùÓС£All or None.
¡¡¡¡Consistent:Ò»ÖÂÐÔ£¬ËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»Ö¡£
¡¡¡¡Isolated:·ÖÀëÐÔ£¬²»Í¬ÊÂÎñ²»»¥ÏàÓ°Ïì¡£
¡¡¡¡Durable:³Ö¾ÃÐÔ£¬Ìá½»ÊÂÎñµÄÊý¾ÝÐèÒª³Ö¾Ã»¯¡£
¡¡¡¡ÎªÊ²Ã´ÒªÊ¹ÓÃÊÂÎñ
¡¡¡¡ÊµÏÖÊÂÎñÖ÷ÒªÓÐÁ½´ó¹¦ÄÜ£º
¡¡¡¡1.±£Ö¤Êý¾Ý¿âµÄconsistent(Ò»ÖÂÐÔ״̬)£¬±£³ÖËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»ÖÂ)¡£ÄÄÅÂÊý¾Ý¿â¹ÜÀíϵͳ³öÏÖ¹ÊÕÏʱ(ÀýÈç¶Ïµç)£¬Ò²Äָܻ´µ½Ò»ÖÂÐÔ״̬¡£ÀýÈçÒ»¸öÒøÐÐתÕÊϵͳ£¬ÕÅÈý¸øÀîËÄת3000Ô²RMB£¬ÕÅÈýÕʺÅÉϼõ3000ºÍÀîËÄÕʺÅÉϼÓ3000ÐèҪͬʱÍê³É£¬·ñÔòϵͳµÄÕʾͲ»Æ½ÁË¡£Ò²ÀýÈçÓÐЩÏúÊÛϵͳµÄ»ã×ܱíºÍÃ÷ϸ±í£¬ÊÇÒ»¸öÖ÷±íºÍÒ»¸ö´Ó±í£¬ÐèҪͬ²½¸üС£
¡¡¡¡2.²¢·¢Ê±·ÖÀ벻ͬÊÂÎñ²Ù×÷¡£ÀýÈç±à¼¹ý³ÌÖеÄÊý¾Ý²»¸øÆäËûÊÂÎñ²éѯµ½¡£ÕâÒ²ÊÇÏà¶ÔµÄ£¬ÔÚÌØÐ§ÐèÇóÏ¿ÉÄÜÒªÖ§³Ödirty read(Ôà¶Á)£¬µ«²»ÊÇÕâÀïÌÖÂ۵ķ¶Î§ÁË¡£
¡¡¡¡SQL Server 2008 µÄÊÂÎñÀàÐÍ
¡¡¡¡1.×Ô¶¯Ìá½»ÊÂÎñ Autocommit Transactions
¡¡¡¡ÕâÊÇSQL ServerĬÈϵÄÊÂÎñÀàÐÍ£¬Ã¿Ò»Ìõµ¥¶ÀµÄSQLÓï¾ä(SQL statement)¶¼Êǵ¥¶ÀµÄÒ»¸öÊÂÎñ£¬Óï¾äÖ´ÐÐÍê±Ïºó×Ô¶¯Ìá½»¡£µ÷Ó÷½²»ÐèÒªÊÖ¹¤¿ØÖÆÊÂÎñÁ÷³Ì¡£
¡¡¡¡2.ÏÔʾÊÂÎñ Explicit Transactions
¡¡¡¡µ÷Ó÷½ÐèÒªµ÷ÓÃAPI»òÕßʹÓÃT-SQLµÄBEGIN TRANSACTION Óï¾äÀ´´ò¿ªÊÂÎñ¡£ÐèÒªµ÷ÓÃCOMMIT »òÕß ROLLBACK TRANSACTION À´Ìá½»»òÕ߻عö¡£
¡¡¡¡3.ÒþʽÊÂÎñ Implicit Transactions
¡¡¡¡Ê¹ÓÃSET IMPLICIT_TRANSACTIONS ON°ÑÊÂÎñģʽ±ä³ÉÒþʽģʽ¡£µ÷Ó÷½²»ÐèÒªÖ´ÐÐBEGIN TRANSACTION Óï¾äÀ´´ò¿ªÊÂÎñ¡£Êý¾Ý¿âÒýÇæÖ´Ðе½SQLÓï¾äµÄʱºò×Ô¶¯´ò¿ªÊÂÎñ¡£µ÷Ó÷½ÐèÒªµ÷ÓÃCOMMIT »òÕß ROLLBACK TRANSACTION À´Ìá½»»òÕ߻عö¡£µ±Êý¾Ý¿âÒýÇæÖ´ÐÐÏÂÒ»¸öSQLÓï¾äʱÓÖ×Ô¶¯´ò¿ªÒ»¸öÐÂÊÂÎñ¡£
OracleµÄÊÂÎñÀàÐÍ
¡¡¡¡OracleµÄÊÂÎñ´¦ÀíÀàÐÍÓеãÏñSQL ServerµÄÒþʽÊÂÎñ¡£µ±Ö´Ðе½µÚÒ»¸ö¿ÉÖ´ÐеÄSQLÓï¾äʱ×Ô¶¯´ò¿ªÊÂÎñ£¬È»ºóÐèÒªµ÷Ó÷½Ö´ÐÐcommit»òÕßrollbackÀ´Ìá½»»òÕ߻عöÊÂÎñ£¬Èç¹ûÓÐDDLÓï¾ä£¬OracleÒ²»á×Ô¶¯Ìá½»ÊÂÎñµÄ¡£
¡¡¡¡²Î¿¼:Transaction Management
¡¡¡¡OracleµÄÊÂÎñµÄʵÏÖ
¡¡¡¡OracleµÄ½á¹¹·ÖÂß¼ÉϺÍÎïÀíÉϵÄÇø±ð¡£Âß¼ÉϵĽṹÊDZí¿Õ¼ä£¬¶øÎïÀíÉϵĽṹÊÇ
Ïà¹ØÎĵµ£º
mysql ´ó¶ÔÏó´æÈ¡:
¡¡¡¡ÀàÐÍÒ»°ãÓ¦¸ÃÓÃmediumblod,
¡¡¡¡blobÖ»ÄÜ´æ2µÄ16´Î·½¸öbyte,
¡¡¡¡mediumblodÊÇ24´Î·½,
¡¡¡¡Ò»°ãÀ´Ëµ¹»ÓÃÁË.longblobÊÇ32´Î·½ÓÐЩ´ó.
¡¡¡¡MYSQLĬÈÏÅäÖÃÖ»ÄÜ´æ1M´óСµÄÎļþ,ÒªÐÞ¸ÄÅäÖÃ,WIN°æ±¾µÄÔÚmysql.iniÎļþÖÐ
¡¡¡¡ÐÞ¸Ämax_allowed_packet,net_buffer_lengthµÈ¼¸¸ö²ÎÊý,»òÖ±½ÓSET GLOBAL va ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£º
Á¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐ ......
Sql´úÂë
--²ÉÓÃSQLÓï¾äʵÏÖsql2005ºÍExcel Êý¾ÝÖ®¼äµÄÊý¾Ýµ¼Èëµ¼³ö£¬ÔÚÍøÉÏÕÒÀ´Ò»--Ï£¬ÊµÏÖ·½·¨ÊÇÕâÑùµÄ£º
--Excel---->SQL2005 µ¼È룺
select * into useinfo from O ......
ÎÒÔÚ°ÑoracleÊý¾Ýµ¼ÈësqlserverÖÐʱ£¬·¢ÏÖÔÚoracleÖÐ×ֶζ¨ÒåΪΨһË÷Òýʱ£¬²»Í¬¼Ç¼µÄ´Ë×Ö¶ÎÈç¹ûΪ¿Õ²»±»ÈÏΪÊÇÖØ¸´µÄ£¬µ«ÔÚsqlserverÖÐÈç¹û´Ë×Ö¶ÎΪΨһË÷Òý×ֶΣ¬²»ÔÊÐíÓÐ2¸öÒÔÉϵĿÕÖµ¡£ÓôÃÆ¡£ËùÒÔÖ»ºÃ½«sqlserverÖеÄΨһË÷Òý×Ö¶ÎÊÖ¹¤ÐÞ¸ÄΪ¼¸¸ö·Ç¿ÕµÄÖµ£¬µ«ÕâÑù³ÌÐò¿Ï¶¨Òª½øÐÐÐÞ¸ÄÁË¡£ÐèÒªÔÚ³ÌÐòÖÐΪ´Ë×Ö¶ÎÉèÖò»Öظ´ ......