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

pls_integerとbinary_integerの違いは何ですか?

    歴史的な理由。 10g以前は異なっていました:

    8iおよび9iでは、PLS_INTEGERはBINARY_INTEGERよりも著しく高速でした。

    整数の宣言と操作に関しては、Oracleは次のような多くのオプションを提供しています。

    INTEGER-STANDARDパッケージでNUMBERのサブタイプとして定義されているこのデータ型は、プラットフォームに完全に依存しない方法で実装されます。つまり、NUMBERまたはINTEGER変数で行うことは、データベースがインストールされているハードウェアに関係なく同じように機能する必要があります。 。

    BINARY_INTEGER-STANDARDパッケージでINTEGERのサブタイプとして定義されています。 BINARY_INTEGERとして宣言された変数には、-2 + 1 .. 2-1、別名-2,147,483,647から2,147,483,647までの値を割り当てることができます。 Oracle9i Databaseリリース2より前は、BINARY_INTEGERは、次のように、連想配列(別名、index-byテーブル)で許可されている唯一のインデックスデータ型でした。

      TYPE my_array_t IS TABLE OF VARCHAR2(100) 
      INDEX BY BINARY_INTEGER
    

    PLS_INTEGER-標準パッケージでBINARY_INTEGERのサブタイプとして定義されています。 PLS_INTEGERとして宣言された変数には、-2 + 1 .. 2-1、別名-2,147,483,647から2,147,483,647までの値を割り当てることができます。 PLS_INTEGER演算はマシン演算を使用するため、通常、NUMBERおよびINTEGER演算よりも高速です。また、Oracle Database 10gより前は、BINARY_INTEGERよりも高速です。ただし、Oracle Database 10gでは、BINARY_INTEGERとPLS_INTEGERは同一になり、互換的に使用できるようになりました。



    1. MariaDBでのSUBTIME()のしくみ

    2. Postgresqlの累積合計をカウントします

    3. Postgresql-DBへの自動接続が原因でデータベースを削除できません

    4. psqlでスクリプト変数をどのように使用しますか?