【正文】
WCATTORI39。 使用union all 代替union 語句Union 進行排序Union All 不排序 使用Union和IN代替OR語句Loc_no, region上有索引 SELECT ... FROM location WHERE loc_id = 10 OR region = 39。X39。 AND = 39。 去掉重復(fù)行DELETE FROM emp E WHERE ( SELECT MIN() FROM emp X WHERE = )。 AND acc_type = 39。UPDATE emp SET = ... , WHERE ROWID = :emp_rowid?!餝ELECT COUNT(*) FROM TAB1, TAB2。 排序利用索引自動以適當(dāng)?shù)拇涡蜉敵鰰r,可以避免對表中數(shù)據(jù)排序,當(dāng)以下的情況發(fā)生時,排序就不能省略: 216。M%39。. 大小寫在數(shù)據(jù)庫模型、數(shù)據(jù)庫腳本中,所有對象,包括表、視圖、主鍵、索引、序列、存儲過程、包等名稱必須大寫。查詢嵌套層次越多,效率越低。表關(guān)聯(lián)條件放在語句的最后部。) OR 25 (SELECT COUNT(*) FROM EMP WHERE emp_mgr = )。AMEXA39。SMITH%39?!餝ELECT emp_name FROM emp WHERE emp_cat = (SELECT MAX(category) FROM emp_categories) AND sal_range = (SELECT MAX(sal_range) FROM emp_categories) AND emp_dept = 0020?!餝ELECT ... FROM emp E WHERE = 39。 FROM dept WHERE dept_no = AND dept_cat = 39?! 。篠QL grant plustrace to ops$ino。 SQL Trace開始SQL ALTER SESSION SET SQL_TRACE = true。MELBOURNE39。)。X39。SELECT COUNT(1) FROM TRANS。 ○SELECT acc_name, trans_date, amount FROM transaction WHERE amount 5000 + 3000。○SELECT , , , , , FROM emp A, emp B WHERE = 0342 AND = 0291。 Where語句順序的效率1) 使用索引引起的where語句效率使用AND語句時行數(shù)多的放在前面SELECT * FROM emp E WHERE emp_sal 50000 AND emp_type = 39。 排序的列來自不同的表。把語句改為SELECT A FROM ABC WHERE A 39。. 字段名稱字段名不得超過30個字母,必須以英文單詞構(gòu)成,每個單詞之間以下劃線隔開,全部采用大寫字母。應(yīng)當(dāng)避免使用distinct關(guān)鍵字。這里不直接使用drop的原因是減小數(shù)據(jù)庫的開銷。)。 (3)TRUNCSELECT acc_name, trans_date, amount FROM transaction WHERE TRUNC(trans_date) = TRUNC(SYSDATE)。, NULL)) D0020_count, COUNT (DECODE(dept_no, 0030, 39。 AND region != 39。 OR = 39。)。 增加索引增加索引要考慮多種因素,要考慮對更新、插入的影響等。SQL exit 內(nèi)容變換afe57gc2/users/home/ino 44 suPassword: chmod 777 /oracle/product/ exitafe57gc2/users/home/ino 46 tkprof $ORACLE_HOME/rdbms/log/ TKPROF: Release Production on 木 Apr 18 15:55:17 2002(c) Copyright 2000 Oracle Corporation. All rights reserved.備考:ログファイルの出力先SQL column name format A20SQL column value