2013年3月24日 星期日

ORACLE SQL 常用語法 常見問題

參考自

如何讓id(自動增加的流水號)再刪除後保持連續(MYSQL)?
select min(a.id)+1 from BookList a left join BookList b on a.id=b.id-1 where b.id is null;

SYNONYM:創建別名
CREATE   SYNONYM   TABLE_A   FOR   A.TABLE_A;

SUBSTR
SUBSTR("ABCDEFG",0,3): ABC
SUBSTR("ABCDEFG",2): CDEFG
SUBSTR("ABCDEFG",0,100): ABCDEFG 

ROWID     REFERENCE
1.rowid 是由object number + file number + block number + row number 四個項目所組成的,
也就是說記錄每一筆列的位置,存在於某一個 block,所以根本不需要搜尋就可以指定讀取某一列,因此它的查詢速度是最快的..

2.而建立index就是把你的主鍵對應一個rowid,所以可以增快查詢速度

3.rowid 是會變動的,所以以rowid當查詢條件並不適當;建index會是比較好的方式,因為oracle會去維護index,當rowid變動時,index中的rowid也會跟著變動





沒有留言:

張貼留言