Éî¶È¶Ô±ÈOracleÓëSQL Server——µÚ¶þ²¿·Ö
Êý¾Ý¿âʵÀý½á¹¹ ÊÂÎñÒ»ÖÂÐÔ(Transactional Consistency)ºÍ»ùÓÚʱ¼äµãµÄ»Ö¸´(Point-in-time Recovery) ϵͳԪÊý¾Ý
topÊý¾Ý¿âʵÀý½á¹¹
µ±OracleʵÀýÆô¶¯Ö®ºó£¬Ëù¿´µ½µÄ¾ÍÊÇÔÚ·þÎñÆ÷ÄÚ´æÉϵÄÒ»¸ö¸ö²»Í¬ÄÚ´æ¿é¼ÓÉϲúÉúµÄÓëÕâЩÄÚ´æ½»»¥µÄºǫ́½ø³Ì¡£OracleÎĵµ½«ÕâЩÄÚ´æ½á¹¹ºÍ½ø³ÌÊյĺÜÏêϸ¡£
ÓÉOracleʵÀýËùÕ¼ÓõÄÄÚ´æ¿é³ÉΪSGA£¨System Global Area£©£¬ËüµÄ´óС¿ÉÒÔͨ¹ýµ÷ÕûOracle³õʼ»¯²ÎÊý£¨initialisation parameter£©½øÐÐÐ޸ģ¬ÔÚSGAÀï±ßÖÁÉٻᴴ½¨3¸ö²»Í¬µÄÇøÓò£¬ËüÃÇ·Ö±ðÊÇ£º
Êý¾Ý¿é»º´æÇø£¨Database Buffer Cache£©ÕâÀﻺ´æµÄÊÇÊý¾Ý¿é¡£ºÍSQL ServerÒ»Ñù£¬Óû§²»»áÖ±½ÓµÄ·ÃÎÊÊý¾ÝÎļþÉϵÄÊý¾Ý£ºµ±¶ÁÈ¡Êý¾Ýʱ£¬Ïà¹ØµÄÊý¾Ý¿é»á´ÓÊý¾ÝÎļþÖп½±´µ½ÄÚ´æÖУ»ÐÞ¸ÄÊý¾ÝʱҲÊÇÐÞ¸ÄÄÚ´æÖеÄÊý¾Ý£¬È»ºóÔÙÓɵ¥¶ÀµÄ½ø³Ì½«Êý¾Ý»º´æÇøÖб»Ð޸ĵÄÊý¾ÝдÈëµ½Êý¾Ý¿âÖС£ÖØ×öÈÕÖ¾»º´æ£¨Redo Log Buffer£©SGAÖеÄÕâ¸öÇøÓòÁ¬ÐøµÄ¼Ç¼×ÅÊý¾Ý»º´æÇøÊý¾ÝÐ޸ĵļǼ£¬ÖØ×öÈÕÖ¾»º´æÖеÄÄÚÈݻᱻдÈëµ½ÔÚÏßÈÕÖ¾ÎļþÖÐÈ¥¡£¹²Ïí³Ø(Shared Pool£©SGAÖÐÓÐÒ»´ó¿éµÄÄÚ´æÓÃ×÷¹²Ïí³Ø£¬¹²Ïí³ØµÈ¼ÛÓÚSQL ServerÖеÄÖ´Ðлº´æ£¨Procedure Cache£©¡£ËüµÄÖ÷Òª×÷ÓþÍÊÇ»º´æÊý¾Ý¿âÖÐ×î½üÖ´ÐйýµÄSQLÓï¾ä¡£¹²Ïí³ØÓÉÏÂÃæµÄÄ£¿é×é³É£º Êý¾Ý×ֵ仺´æ£¨Dictionary Cache£©Êý¾Ý×ֵ仺´æ»º´æÁËOracle×î½üʹÓõÄÊý¾Ý×ÖµäÐÅÏ¢¡£¿â»º´æ£¨Library Cache£©Õâ¸öÇøÓò°üº¬ÁË×î½üÖ´ÐеÄSQLºÍPL/SQLÓï¾äºÍ¶ÔÓ¦µÄÖ´Ðмƻ®¡£SQLÇø»¹ÄܽøÒ»²½·Ö³É¹²ÏíÇøºÍ˽ÓÐÇø£º¹²ÏíSQLÇø±£´æµÄÓï¾ä¿ÉÒÔÓɶà¸öÓû§Ê¹ÓöøË½ÓÐÇø±£´æµÄÔòÊǸú¸÷¸öÁ¬½Ó¶ÔÓ¦µÄ°ó¶¨±äÁ¿µÄÐÅÏ¢¡£PL/SQLÊÇOracle¶ÔÓÚÐÐÒµ±ê×¼SQLµÄ³ÌÐòÀ©Õ¹£¬µ±PL/SQL³ÌÐòÖ´ÐÐʱ£¬ËüµÄ´úÂë»á¿½±´µ½¿â»º´æÖеĹ²ÏíPL/SQLÇøÖС£³ýÁË»º´æÖ´ÐдúÂëºÍÖ´Ðмƻ®Í⣬¿â»º´æ»¹°üº¬Ëø¡¢·§ÒÔ¼°×Ö·û¼¯µÈÐÅÏ¢¡£
¸ù¾ÝÄãËùʹÓõÄ×é¼þµÄ²»Ò»Ñù£¬OracleµÄSGAÖÐÒ²¿ÉÄÜ´æÔÚÆäËüһЩ¿ÉÑ¡µÄÄÚ´æÇøÓò¡£ÔÚOracleÖÐʹÓÃJavaÓ¦ÓÃʱҪʹÓõ½Java³Ø£¨Java Pool£©£¬OracleÄÚÖõı¸·Ý»Ö¸´¹¤¾ßRMAN£¨Recovery Manager£©ÒªÓõ½´ó³Ø£¨Large Pool£©£¬µ±Ê¹ÓÃOracle¸ß¼¶¶ÓÁлúÖÆÊ±ÒªÓõ½Á÷³Ø£¨Steams Pool£©¡£
ÉÏÃæ½éÉܵĸ÷¸öÄÚ´æÇøÓò¶¼ÊÇÊôÓÚSGAµÄÒ»²¿·Ö£¬ËüÃÇÊÇͨ¹ýÒ»ÐòÁеĽø³Ì£¨process£©À´ºÍÊý¾Ý¿â½øÐн»»¥¡£ÏÂÃæ¾Í¿ªÊ¼½éÉܰüÀ¨Óû§½ø³ÌºÍ·þÎñÆ÷½ø³ÌÔÚÄÚµÄOracle½ø³ÌÁË¡£
µ±Óû§»òÕßÊÇÓ¦ÓÃÁ¬½Óµ½OracleÊý¾Ý¿âʱ¾Í»á²úÉúÒ»¸öÓû§½ø³Ì£¨user process£©¡£ÔÚÒ»¸öÁ½²ãµÄϵͳ¼Ü¹¹ÖУ¬Óû§
Ïà¹ØÎĵµ£º
ÉÏһƪдµÄsql×¢ÈëµÄ»ù±¾ÔÀí£¬±¾À´Òª½Ó×ÅдÕâÆªµÄ£¬µ«ÊÇÓÉÓÚʱ¼äµÄÔÒòһֱûÓÐд³É£¬½ñÌìÊÇÎåÒ»¼ÙÆÚ£¬×ÜËãÊÇÄܳé¿ÕддÁË¡£
×÷Ϊһ¸ö³ÌÐòÔ±£¬·À·¶sql×¢ÈëµÄµÚÒ»ÏßÊÇÓÉÎÒÃÇÀ´ÊØ»¤µÄ£¬Ö»ÒªÎÒÃÇÔÚ³ÌÐòÖÐÁôÉÙÐíµÄ©¶´£¬¾Í»á¸ø³ÌÐòÔöÇ¿°²È«ÌØÐÔ¡£ËùÒÔÎÒÃÇÒª×öµÄÊÇҪд°²È«µÄ³ÌÐò£¬·ÀÖ¹sql×¢ÈëÔÚ³ÌÐòÌåÏÖÔÚ²»ÒªÆ´½Ósql×Ö·û´®£¬ ......
ÊÓͼ
SET¡¡NOCOUNT ON;
SET Northwind;
GO
IF OBJECT_ID('dbo.ViewName') IS NOT NULL
DROP VIEW dbo.ViewName;
GO
CREATE VIEW dbo.Viewname
AS
SELECT * from customer AS C
WHERE EXISTS
(SELECT * from dbo.Orders AS O
WHERE O.CustomerI ......
Oracle³£Ó÷ÖÎöº¯Êý
ROW_NUMBER
·µ»ØÓÐÐò×éÖÐÒ»ÐÐµÄÆ«ÒÆÁ¿£¬´Ó¶ø¿ÉÓÃÓÚ°´Ìض¨±ê×¼ÅÅÐòµÄÐкÅ
row_number() over(partition by ... order by ...)
RANK
¸ù¾ÝORDER BY×Ó¾äÖбí´ïʽµÄÖµ£¬´Ó²éѯ·µ»ØµÄÿһÐУ¬¼ÆËãËüÃÇÓëÆäËüÐеÄÏà¶ÔλÖá£×éÄÚµÄÊý¾Ý°´ORDER BY×Ó¾äÅÅÐò£¬È»ºó¸øÃ¿Ò»Ðи³Ò»¸öºÅ£¬´Ó¶øÐγÉÒ»¸öÐòÁУ¬¸ÃÐòÁ ......
OracleÊý¾Ý¿â·þÎñÆ÷ÓÉÁ½²¿·Ö×é³É£¬Ò»²¿·ÖÊÇORACLEÊý¾Ý¿â£¬Ò»²¿·ÖÊÇORACLEʵÀý¡£ORACLEÊý¾Ý¿â¾ÍÊÇ´æ´¢ÔÚ´ÅÅÌÉϵÄORACLEÊý¾ÝÎļþ¡¢ÈÕÖ¾ÎļþºÍ¿ØÖÆÎļþ¡£ÊµÀýÊÇÓÃÀ´¶ÔÊý¾Ý¿â½øÐвÙ×÷¡¢¹ÜÀíµÄ¡£ÊµÀýÓÉһϵÁнø³ÌºÍÄÚ´æ×é³É¡£
Æô¶¯Êý¾Ý¿âµÄʱºòÏÈÔÚÄÚ´æ·ÖÅäÒ»¿éºÜ´óµÄ´æ´¢¿Õ¼ä£¬È»ºóÆô¶¯ORACLEÊý¾Ý¿âÔËÐÐʱÐèÒªµÄһϵÁнø³Ì£¬¼´ ......
SQL Server ϵͳȫ¾Ö±äÁ¿
@@CONNECTIONS
·µ»Ø×ÔÉÏ´ÎÆô¶¯ÒÔÀ´Á¬½Ó»òÊÔͼÁ¬½ÓµÄ´ÎÊý¡£
@@CURSOR_ROWS
·µ»ØÁ¬½ÓÉÏ×îºó´ò¿ªµÄÓαêÖе±Ç°´æÔڵĺϸñÐеÄÊýÁ¿(·µ»Ø±»´ò¿ªµÄÓαêÖл¹Î´±»¶ÁÈ¡µÄÓÐЧÊý¾ÝÐеÄÐÐÊý)
@@DATEFIRST
·µ»ØÃ¿ÖܵÚÒ»ÌìµÄÊý×Ö
@@ERROR
·µ»Ø×îºóÖ´ÐеÄSQL Óï¾äµÄ´íÎó´úÂë¡£
@@FETCH_STATUS
·µ»Ø ......