oracle²»¿É¸üеÄÊÔͼ
¹Ø¼ü´Ê£ºwith read only
×÷ÓãºÓÃÓÚÖ¸¶¨Ëù´´½¨µÄÊÔͼ²»¿ÉÒÔͨ¹ý±¾ÊÓͼ¸üбí
Ö´ÐÐÒ»ÏÂSQL£¬´´½¨±íT£¬ºÍÁ½¸öÊÔͼV1£¬V2£º
CREATE TABLE T(ID INTEGER);
CREATE VIEW V1 AS SELECT * from T;
CREATE VIEW V2 AS SELECT * from T WITH READ ONLY;
Ö´ÐÐSQL:
INSERT INTO V1 VALUES(1);
--------------------
1 row created
Ö´ÐÐSQL:
INSERT INTO V2 VALUES(1);
--------------------
Ìáʾ´íÎó
µ¥¶ÀµÄSELECTÓï¾ä²»ÄÜʹÓÃWITH READ ONLY
SELECT * from T WITH READ ONLY;
½«²»ÄÜÔËÐС£
Ïà¹ØÎĵµ£º
1¡¢ ¿ªÊ¼££¾ÉèÖ㣾¿ØÖÆÃæ°å££¾¹ÜÀí¹¤¾ß££¾·þÎñ
Í£Ö¹ËùÓÐOracle·þÎñ¡£
2¡¢ ¿ªÊ¼££¾³ÌÐò££¾Oracle - OraHome81££¾Oracle Installation Products££¾   ......
OracleÒì³£·ÖΪ3ÖÖ:
(1)Ô¤¶¨ÒåÒì³£:no_data_foundµÈ,ÊÇOracleϵͳ¶¨ÒåµÄÒì³£.
declare
s_test varchar2
begin
select id into s_test from test; --´Ëʱtest±íÎÞÊý¾Ý
exception
when no_data_found then
raise_application_error(-20001, 'ûÓÐÊý¾Ý');
end;
(2)×Ô¶ ......
»ù´¡±í(Driving Table)ÊÇÖ¸±»×îÏÈ·ÃÎʵıí(ͨ³£ÒÔÈ«±íɨÃèµÄ·½Ê½±»·ÃÎÊ). ¸ù¾ÝÓÅ»¯Æ÷µÄ²»Í¬, SQLÓï¾äÖлù´¡±íµÄÑ¡ÔñÊDz»Ò»ÑùµÄ.
Èç¹ûÄãʹÓõÄÊÇCBO (COST BASED OPTIMIZER),ÓÅ»¯Æ÷»á¼ì²éSQLÓï¾äÖеÄÿ¸ö±íµÄÎïÀí´óС,Ë÷ÒýµÄ״̬,È»ºóÑ¡Óû¨·Ñ×îµÍµÄÖ´Ðз¾¶.
Èç¹ûÄãÓÃRBO (RULE BASED OPTIMIZER) , ²¢ÇÒËùÓеÄÁ¬½ÓÌõ¼þ¶ ......
What circumstances we use ALL_ROWS and what circumstances we use FIRST_ROWS optimizer mode? This article is written in oracle9i.
First_rows attempts to optimize the query to get the very first row back to the client as fast as possible. This is good for an interactive client server environment wher ......