oracleの起動


前提条件oracle,listener等がインストール済みで、サーバ等のshutdownに伴い、停止状態である。↓(unixにoracleユーザ等でログイン後のコマンド内容lsnrctlstartexit(補足:リスナーの起動終了。net8を使用する場合)svrmgrlconnectinternalstartupdisconnectexit(補足:DBの起動終了)これでsqlplus等からの接続が可能になっているはずです。sqlplus /@



LIKE, INSTR 部分一致演算子のパフォーマンス比較
(性能比較データはありません)


前提条件テーブルA : 4,000件 比較対象フィールド4つテーブルB : 80件 マスター表LIKEとINSTRを利用した場合の速度差は5secでした。LIKE = 7秒強INSTR = 2秒強------------(例SQL)-------------(LIKE) SELECT A.NO
FROM TABLE_A A, TABLE_B B
WHERE A.CODE = B.CODE AND
A.FLAG1 = 0 AND
B.FLAG1 = 0 AND
B.FLAG2 = 0 AND
ROWNUM <= 100 AND
(A.TITLE LIKE'%部分一致%' OR
A.Q1 LIKE '%部分一致%' OR
A.Q2 LIKE '%部分一致%' OR
A.A1 LIKE '%部分一致%' OR
A.A2 LIKE '%部分一致%')
ORDER BY A.NO DESC;
-----------------------------(INSTR)SELECT A.NO
FROM TABLE_A A, TABLE_B B
WHERE A.CODE = B.CODE AND
A.FLAG1 = 0 AND
B.FLAG1 = 0 AND
B.FLAG2 = 0 AND
ROWNUM <= 100 AND
(INSTR(A.TITLE,'部分一致')>0 OR
INSTR(A.Q1,'部分一致')>0 OR
INSTR(A.Q2,'部分一致')>0 OR
INSTR(A.A1,'部分一致')>0 OR
INSTR(A.A2,'部分一致')>0)
ORDER BY A.NO DESC;
-----------------------------試してみる価値ありですよ。



sequenceを利用してユニークキーを作る場合の例


sequenceを作成する-----------------CREATE SEQUENCE <順序名> [ START WITH <初期値> ][ INCREMENT BY <増分値> ][ MAXVALUE <最大値> | NOMAXVALUE ][ MINVALUE <最小値> | NOMINVALUE ][ CACHE <キャッシュ数> | NOCYCLE ]----------------- CREATE SEQUENCE SEQ
INCREMENT BY 1
START WITH 1
MAXVALUE 1.0000E+12
NOMINVALUE
CYCLE
CACHE 10
NOORDER



メモindexへ
Topへ