sql >> データベース >  >> RDS >> Oracle

ROWID(オラクル)-それの用途はありますか?

    ROWIDは、行の物理的な場所です。したがって、これは行を見つけるための最速の方法であり、主キーの検索よりも高速です。したがって、いくつかの行を選択し、それらのROWIDを保存してから、後でwhereでROWIDを使用する特定のタイプのトランザクションで役立ちます。 それらの同じ行に対するDMLの句。

    WHERE CURRENT OFを使用してロックされた行を更新する場合、Oracle SELECT ...FORUPDATE構文は暗黙的にROWIDを使用します。また、EXCEPTIONSテーブル(EXCEPTIONS INTO句で制約を適用するときに参照される)には、列ROW_IDがあります。これにより、制約を破っている行をすばやく特定できます。

    後者の例は、別の一般的な使用法を示しています。一般的なコードを記述していて、データ型や複合キーなどを気にせずにUIDを格納するメカニズムが必要な場合です。

    一方、ROWNUMは、特定の結果セットの行にタグを付ける疑似列です。永続的な意味はありません。

    編集

    特定のレコードのROWIDは、たとえばテーブルの再構築を通じて、システムの存続期間中に変更される可能性があります。また、1つのレコードが削除された場合、そのROWIDに新しいレコードを指定できます。したがって、ROWIDは長期的にUIDとして使用するのには適していません。ただし、トランザクション内で使用するには十分です。



    1. content://mmsからmmsの日付を取得するにはどうすればよいですか。

    2. Oracleでnull値の列を合計する

    3. チューニング:開始するのに適した場所

    4. 1列のみのDISTINCT