Thứ Sáu, 23 tháng 7, 2021

Các loại hint INDEX, PARALLEL, APPEND, FULL áp dụng cho SELECT, INSERT, UPDATE, DELETE trong Oracle Database

Index

SELECT

-- 1 hint

SELECT /*+index (a tab1_I1) */

FROM test_owner.tab1 a

WHERE id=100458

AND month=to_date('01/05/2011','dd/mm/yyyy')


-- 2 hint

SELECT  /*+ index(e tab1_UK) index(a tab2_PK) */  a.*, b.*

FROM tab1 a,tab2 b,

WHERE a.id = b.id

 

-- Qua dblink

Select /*+ index (A1,IDX1) */ nvl(credit,0) credit

from    test_owner.tab1@dblink A1

where   file_date = to_date('22/11/2012','DD/MM/YYYY')

and     id= 123456789;

 

UPDATE

Machine generated alternative text:
UPDATE INDEX(p PRODUCTS PROD CAT IX) * / 
products p 
SET p . prod min_price 
( SELECT 
(pr. prod .95) 
FROM products pr 
WHERE p. prod id pr . prod id) 
WHERE p . prod category — 
AND p . prod s tatus — 
' Men ' 
available, on stock'

 

Parallel

SELECT

-- select parallel 1 bảng

ALTER SESSION ENABLE PARALLEL DML;  -- Có thể không cần

SELECT /*+ PARALLEL(a,4) */ a.ROWID, a.*

     FROM tab1 a

     WHERE start_datetime >= TRUNC (p_date)

     AND start_datetime < TRUNC (p_date+1)

     AND start_datetime != org_sta_datetime;

 

--parallel 2 bảng

SELECT /*+parallel(a, 4) parallel(b, 4)*/A.ROWID, A.* FROM tab1 A, tab2 B 

WHERE B.ID = A.ID AND B.MONTH = :B2

ORDER BY A.ID’

 

INSERT

ALTER TABLE TEST_OWNER.CUS  NOLOGGING;

ALTER SESSION ENABLE PARALLEL DML;

insert into /*+append nologging parallel(a,8)*/ test_owner.tab1 a select /*+parallel(b,8)*/* from tab2 b where request_time<to_date(:"SYS_B_0",:"SYS_B_1")

 

UPDATE 

ALTER TABLE TEST_OWNER.CUS  NOLOGGING;

ALTER SESSION ENABLE PARALLEL DML;

UPDATE /*+ PARALLEL(e, 8) */ employees e

SET SAL=SAL * 1.1 WHERE JOB='CLERK' AND DEPTNO IN

  (SELECT DEPTNO FROM DEPT WHERE LOCATION='DALLAS');

 

DELETE 

ALTER TABLE TEST_OWNER.CUS NOLOGGING;

ALTER SESSION ENABLE PARALLEL DML;

DELETE /*+ PARALLEL(c, 8) */ FROM PRODUCTS c

WHERE PRODUCT_CATEGORY ='GROCERY';

Append

Insert

alter session enable parallel dml;

 

insert /*+ append NOLOGGING  parallel(a,8) */ into tran_his_query_new select * from tran_his_query_old a;

insert /*+ append NOLOGGING  parallel(a,8) */ into tran_his_query_new select /*+ parallel(a,8) */ * from tran_his_query_old a;

 

INSERT INTO /*+ Append NOLOGGING  parallel(tmp_rep_0707a, 4) nologging */ tmp_rep_0707a;

 

insert /*+ APPEND NOLOGGING */ into trans_summary

select product_code, sum(trans_amount) from trans group by product_code;

Full

 

SELECT /*+ FULL(P) +*/ * FROM "EXC_RATE" P


=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
hoặc
https://bit.ly/oaz_fp
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle dataguard, oracle goldengate, oracle weblogic, oracle exadata, hoc solaris, hoc linux, hoc aix

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master