oracle±í·ÖÎöʾÀý
drop table test;
select count(*) from test;
--´´½¨²âÊÔ±í
create table test
(
id number(9),
nick varchar2(30)
);
--²åÈë²âÊÔÊý¾Ý
begin
for i in 1..100000 loop
insert into test(id) values(i);
end loop;
commit;
end;
select * from test;
--¸üÐÂnick×ֶΣ¬Ê¹Êý¾Ý·¢ÉúÑÏÖØÇãб
update test set nick='abc' where rownum<99999;
--´´½¨Ë÷Òý
create index idx_test_nick on test(nick);
update test set nick='def' where nick is null;
--Ö»¶ÔË÷Òý½øÐзÖÎö
analyze index idx_test_nick compute statistics;
select * from user_indexes;
--²é¿´Ë÷ÒýÃû,¶ÔÓ¦´æ´¢µÄÊý¾Ý¿é,²»Í¬µÄkeyÊýÁ¿,¼Ç¼Êý£¨ÐÐÊý£©µÄ·ÖÎöÐÅÏ¢
select index_name, LEAF_BLOCKS, DISTINCT_KEYS, NUM_ROWS
from user_indexes
where index_name = 'IDX_TEST_NICK';
--dba_tab_col_statistics
--²é¿´±íµÄͳ¼ÆÐÅÏ¢
select COLUMN_NAME, NUM_BUCKETS, num_distinct
from USER_tab_columns
where table_name = 'TEST';
select * from test where nick ='abc';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'
2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)
select * from test where nick ='def';
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'
2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)
--ÓÉÉÏ¿ÉÒÔ¿´µ½,¶ÔË÷Òý·ÖÎöÖ®ºó,sqlµÄÖ´Ðз¾¶¶¼ÊÇ»ùÓÚ¹æÔòµÄ,Ë÷ÒýµÄ×Ö¶ÎµÄÆ«ÒÆ
--Ïȸù¾ÝË÷ÒýÕÒµ½rowid,È»ºóÔÙ¸ù¾Ýrowid¶ÁÈ¡¼Ç¼,Õâ¸ö¹ý³Ì¿Ï¶¨±ÈÈ«±íɨÃè¶ÁÈ¡¼Ç¼ҪÂý
--user_part_col_statistics ·ÖÇø·ÖÎöÐÅÏ¢
--·ÖÎö±íµÄµÚ¶þÁÐnick
analyze table test compute stat
Ïà¹ØÎĵµ£º
.½¨Á¢²âÊÔÊý¾Ý±í
CREATE TABLE TEST
(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(20)
);
2.´´½¨ÐòÁÐ
CREATE SEQUENCE SEQ_TEST;
3.´´½¨´¥·¢Æ÷
CREATE OR REPLACE TRIGGER AUTOINCREMENT
BEFORE INSERT ON TEST
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID from DUAL;
END; ......
/// <summary>
/// Êý¾Ý¿â±¸·Ý
/// </summary>
/// <param name="fileName">dmpÎļþÃû³Æ</param>
......
NumberÀàÐÍ
Oracle number datatype Óï·¨£ºNUMBER[(precision [, scale])]
ÓÐЧΪ£º´Ó×ó±ßµÚÒ»¸ö²»Îª0µÄÊýËãÆðµÄλÊý¡£
scale > 0
¾«È·µ½Ð¡ÊýµãÓÒ±ßs룬²¢ËÄÉáÎåÈ롣Ȼºó¼ìÑéÓÐЧλÊÇ·ñ <= p¡£
scale < 0
¾«È·µ½Ð¡Êýµã×ó±ßs룬²¢ËÄÉáÎåÈ롣Ȼºó¼ìÑéÓÐЧλÊÇ·ñ <= p + ......
oracle ¹éµµÓë²»¹éµµ
1. ²é¿´Êý¾Ý¿âµÄ¹éµµÄ£Ê½
£¨1£©Ê¹ÓÃÃüÁ
-------------------------------------------------
SQL> archive log list
Êý¾Ý¿âÈÕ־ģʽ ´æµµÄ£Ê½
×Ô¶¯´æµµ ÆôÓÃ
´æµµÖÕµã f:\oradata\dblearn\arch
×îÔçµÄ¸ÅÒªÈÕÖ¾ÐòÁÐ 14
ÏÂÒ»¸ö´æµµÈÕÖ¾ÐòÁÐ 16
µ±Ç°ÈÕÖ¾ÐòÁÐ 16
--- ......
Ò».ÌÞ³ý±íÖÐÊý¾ÝÁ½ÖÖ²½Öè
a. delete * from My_Table;
b. truncate table My_Table;
¶þ.ÌÞ³ýÕû¸ö±í
drop table My_Table;
ºÎÒԻظ´²»Ð¡ÐÄ Drop µôµÄ±íÄØ,ʵÔò Oracle ÖÐÒ²ÓÐÏà·ÂµÄ "»ØÊÕÕ¾"
ÀýÈ粻СÐÄÌÞ³ýÁ˱í My_Table
drop table My_Table;
Õâ¸öʱ·ÖÔÙÓÃSELECT»°Óï²éѯ´Ë±íʱ£¬½«»áÌáÐѱí»òÊÓͼ²»´æÔÚ.
µ«¿ÉÒÔÓ ......