量産メモ帳

忘れっぽいのでメモを残しています。

Oracle

Oracle オブジェクトの DDL 文を取得する。

SQL*Plus で Oracle の対象のスキーマにログインして実行すると DDL 文が出力されます。 set heading off set long 1000000 set pagesize 0 select dbms_metadata.get_ddl('TABLE', u.table_name) from user_tables u where u.table_name = :table_name; Ora…

テーブルとインデックスの使用率を調べる。

だいぶ前の話だけど、こちらの記事がとても参考になりました。 Oracle Code Tips - テーブルとインデックスの使用率 万が一、ページが削除された場合に備えて加筆・引用させていただきます。

java.sql.DatabaseMetaData#getTables メソッドの戻り値が null になる問題を解決する。

これ、自分もハマったことがある。 Oracle 10g standardへのJDBC接続にてDatabaseMetaData.getTablesメソッドが上手く機能しません。 | JavaのQ&A【OKWave】 確かに第二引数(スキーマ名)に null を指定すればテーブル名を取得できる。 しかし、Oracle の場合…

Oracleの実行計画は絶対ではない。

OracleでSQL文の性能を測定するために、複数パターンでそれぞれ何度も実行して、実行計画を採取・確認してみましたが、 日にちが変わったりクライアントのPCが変わったりすると違うスコアが出てきて、少なくとも絶対値ではないことが分かりました。 確認しな…

First_Value 関数と Last_Value 関数。

初めて使った。 並べ替えた後のレコード群から m 件から n 件までのレコードを取得するために、副問い合わせの中で使った。 以下、Oracle のページから引用: select ID, SortKey, First_Value(Val) over(partition by ID order by SortKey) as FirVal, Val,…