Oracle10パーティションとMySQLパーティションの違いの詳細な説明

Oracle10パーティションとMySQLパーティションの違いの詳細な説明

一般的に使用される Oracle10g パーティションは、範囲 (範囲パーティション)、リスト (リスト パーティション)、ハッシュ (ハッシュ パーティション)、範囲ハッシュ (範囲ハッシュ パーティション)、および範囲リスト (リスト複合パーティション) です。

レンジ パーティション分割: レンジ パーティション分割は、広く使用されているテーブル パーティション分割方法です。列値の範囲をパーティション分割条件として使用し、列値が配置されているレンジ パーティションにレコードを格納します。

たとえば、パーティションが時間に基づいている場合、2010 年 1 月のデータはパーティション a に配置され、2 月のデータはパーティション b に配置されます。パーティションを作成するときは、パーティションの基準となる列と範囲値を指定する必要があります。

時間でパーティション分割する場合、一部のレコードの範囲が当面予測できない場合は、maxvalue パーティションを作成できます。指定された範囲にないすべてのレコードは、maxvalue が配置されているパーティションに格納されます。のように:

createtable pdba (ID 番号、時刻日付) 範囲によるパーティション (時刻)
(
パーティションp1の値が(to_date('2010-10-1'、'yyyy-mm-dd'))より小さい場合、
パーティションp2の値が(to_date('2010-11-1'、'yyyy-mm-dd'))より小さい場合、
パーティションp3の値が(to_date('2010-12-1'、'yyyy-mm-dd'))より小さい
パーティションp4の値が(maxvalue)より小さい
)

ハッシュパーティション:

範囲に効果的に分割できないテーブルの場合、ハッシュ パーティション分割を使用すれば、パフォーマンスの向上に役立ちます。ハッシュ パーティション分割では、テーブル内のデータが、指定した複数のパーティションに均等に分散されます。列が配置されているパーティションは、パーティション列のハッシュ値に基づいて自動的に割り当てられます。したがって、どのレコードがどのパーティションに配置されるかを制御または把握することはできません。ハッシュ パーティション分割では、複数の従属列もサポートされます。のように:

作成可能テスト
(
transaction_idnumber 主キー、
item_idnumber(8)がnullではありません
)
ハッシュによるパーティション(トランザクションID)
(
パーティションpart_01 表領域tablespace01、
パーティションpart_02 表領域 tablespace02、
パーティションpart_03 テーブルスペース tablespace03
);

ここでは、各パーティションの表領域を指定します。

リストパーティション:

リスト パーティション分割では、列の値も指定する必要があります。パーティション値は明示的に指定する必要があります。パーティション列は 1 つだけです。範囲パーティション分割やハッシュ パーティション分割とは異なり、複数の列を同時にパーティション依存列として指定することはできません。ただし、1 つのパーティションに複数の対応する値を設定できます。

パーティション分割を行う際は、パーティション列の可能な値を決定する必要があります。挿入された列の値がパーティション範囲外になると、挿入/更新は失敗します。そのため、通常、リスト パーティション分割を使用して指定された範囲外のレコードを格納する場合は、範囲パーティションの maxvalue パーティションと同様に、デフォルト パーティションを作成することをお勧めします。

都市コードなどの特定のフィールドに基づいてパーティション分割する場合は、デフォルトのパーティションを指定し、パーティション分割ルールに準拠しないすべてのデータをこのデフォルトのパーティションに配置できます。のように:

作成テーブルcustaddr
(
idvarchar2(15バイト) NULLではない、
エリアコードvarchar2(4バイト)
)
パーティションリスト (エリアコード)
(パーティションt_list025の値('025')、
パーティションt_list372値('372')、
パーティションt_list510値('510')、
パーティションp_other値(デフォルト)
)

結合されたパーティション:

列ごとにパーティション分割した後もテーブルが大きい場合、またはその他の要件がある場合は、パーティション内にサブパーティションを作成してパーティションをさらにパーティション分割することができます。つまり、複合パーティション方式です。

10g には、範囲ハッシュと範囲リストの 2 種類の複合パーティションがあります。順序に注意してください。ルート パーティションは範囲パーティションのみにすることができ、サブパーティションはハッシュ パーティションまたはリスト パーティションにすることができます。

のように:

作成可能テスト
(
transaction_idnumber 主キー、
取引日
)
範囲(transaction_date)によるパーティション分割、ハッシュ(transaction_id)によるサブパーティション分割
サブパーティション3は(tablespace01、tablespace02、tablespace03)に格納されます。
(
パーティションpart_01の値が(to_date('2009-01-01','yyyy-mm-dd'))より小さい
パーティションpart_02の値が(to_date('2010-01-01','yyyy-mm-dd'))より小さい
パーティションpart_03の値が(maxvalue)より小さい
);
createtable emp_sub_template (部門番号、従業員名 varchar(32)、等級番号)
範囲(部門番号)によるパーティション分割、ハッシュ(従業員名)によるサブパーティション分割
サブパーティションテンプレート
(サブパーティション表領域ts1、
サブパーティションb 表領域ts2、
サブパーティションc 表領域 ts3、
サブパーティション化された表領域 ts4
)
(partitionp1の値が(1000)未満の場合)
パーティションp2の値が(2000)未満の場合、
パーティションp3の値が(maxvalue)より小さい
);
四半期地域別売上表を作成します
(部門番号、項目番号varchar2(20)、
txn_date日付、txn_amount番号、状態varchar2(2))
テーブルスペース4
パーティション範囲 (txn_date)
サブパーティションリスト (状態)
(partitionq1_1999 の値は (to_date('1-apr-1999','dd-mon-yyyy') より小さい)
(サブパーティションq1_1999_northwest値(「または」、「wa」)、
サブパーティションq1_1999_southwest値(「az」、「ut」、「nm」)、
サブパーティションq1_1999_northeast値(「ny」、「vm」、「nj」)、
サブパーティションq1_1999_southeast値(「fl」、「ga」)、
サブパーティションq1_1999_northcentral値(「sd」、「wi」)、
サブパーティションq1_1999_southcentral値(「ok」、「tx」)
)、
パーティションq2_1999の値が(to_date('1-jul-1999'、'dd-mon-yyyy'))より小さい
(サブパーティションq2_1999_northwest値(「または」、「wa」)、
サブパーティションq2_1999_southwest値('az'、'ut'、'nm')、
サブパーティションq2_1999_northeast値(「ny」、「vm」、「nj」)、
サブパーティションq2_1999_southeast値(「fl」、「ga」)、
サブパーティションq2_1999_northcentral値(「sd」、「wi」)、
サブパーティションq2_1999_southcentral値(「ok」、「tx」)
)、
パーティションq3_1999の値は(to_date('1-oct-1999'、'dd-mon-yyyy'))より小さい
(サブパーティションq3_1999_northwest値(「または」、「wa」)、
サブパーティションq3_1999_southwest値('az'、'ut'、'nm')、
サブパーティションq3_1999_northeast値(「ny」、「vm」、「nj」)、
サブパーティションq3_1999_southeast値(「fl」、「ga」)、
サブパーティションq3_1999_northcentral値(「sd」、「wi」)、
サブパーティションq3_1999_southcentral値(「ok」、「tx」)
)、
パーティションq4_1999の値が(to_date('1-jan-2000'、'dd-mon-yyyy'))より小さい
(サブパーティションq4_1999_northwest値(「または」、「wa」)、
サブパーティションq4_1999_southwest値('az'、'ut'、'nm')、
サブパーティションq4_1999_northeast値(「ny」、「vm」、「nj」)、
サブパーティションq4_1999_southeast値(「fl」、「ga」)、
サブパーティションq4_1999_northcentral値(「sd」、「wi」)、
サブパーティションq4_1999_southcentral値(「ok」、「tx」)
)
);

MySQLのパーティションは一般的に範囲、リスト、ハッシュ、キーなどが使用されます。

RANGE パーティション分割: タプルは列値の範囲に基づいてパーティションに割り当てられます。

 リスト パーティション分割: RANGE パーティション分割と似ていますが、リスト パーティション分割は離散値セット内の値と一致する列値に基づいている点が異なります。

 HASH パーティショニング: テーブルに挿入される行の列値を使用して計算されたユーザー定義関数の戻り値に基づいてパーティションが選択されます。この関数には、負でない整数値を生成する、MySQL で有効な任意の式を含めることができます。

 KEY パーティショニング: HASH パーティショニングと似ていますが、KEY パーティショニングでは 1 つ以上の列の計算のみがサポートされ、MySQL サーバーが独自のハッシュ関数を提供する点が異なります。

上記は、Oracle 10 パーティションと MySQL パーティションの違いについての詳細な説明です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • 3つの主要データベース(Mysql、SqlServer、Oracle)の違いについて簡単に説明します。
  • Mybatis foreach バッチ挿入データ: Oracle と MySQL の違いの紹介
  • OracleとMySQLのページングの違いの簡単な分析
  • MySQLとOracleの違いを簡単に説明してください
  • Oracle、MySQL、SqlServe のページング クエリ ステートメントの違いの概要
  • Oracle と MySQL の 9 つの違い
  • Oracle と MySQL の自動増分列 (ID) の違い
  • MySQLとOracleの更新の違いを分析する
  • MySQLとOracleの構文の違いの詳細な比較
  • Oracle と MySQL の主キー、インデックス、ページングの違いの概要
  • MySQLとOracleの違いのまとめ(機能性能の比較、選択、使用時のSQLなど)

<<:  vue3 watch と watchEffect の使い方と違い

>>:  Trash-Cli: Linux のコマンドラインごみ箱ツール

推薦する

HTML 特殊文字変換表

キャラクター小数点文字番号エンティティ名---未使用空間---スペースバー! ! ---感嘆符「 」...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

MySQL ユーザー権限管理の分析例

この記事では、MySQL ユーザー権限管理の例について説明します。ご参考までに、詳細は以下の通りです...

CSS と JS を使用して下線効果を実装する方法の例

この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...

tomcat8の最新のLinuxインストールプロセス

ダウンロード参考:ダウンロードするコアパッケージを選択してくださいダウンロード後、ファイルをサーバー...

Centos7 での NFS サービス構築の紹介

目次1. サーバー2. クライアント3. テストサービス1. サーバー1. YUMソースを使用してN...

フロントエンドの面接でよく聞かれる JavaScript の質問の完全なリスト

目次1. 手書きのインスタンス2.配列のマップメソッドを実装する3. Reduceは配列のmapメソ...

MySQLデータをOracleに移行する正しい方法

mysql データベースには student テーブルがあり、その構造は次のとおりです。 Oracl...

Mac 環境での Nginx 構成とローカル静的リソースへのアクセスの実装

ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...

デザイン理論:計画、リソース、コミュニケーションの問題について

<br />多くの中小企業ではこの問題は発生しません。中小企業はデザイナーをサポートし、...

ボックスモデルのサイズの詳細な説明は、パディング、マージン、境界の値によって異なります。

ボックス モデルは、要素ボックスの幅と高さ、パディング、境界線、余白のサイズを指定します。境界線の内...

CSSのclip-pathプロパティを使用して不規則なグラフィックを表示する

clip-path CSS プロパティはクリッピングを使用して要素の表示可能領域を作成します。領域内...

MySQL InnoDB ロックの概要

目次1. 共有ロックと排他ロック2. 意図ロック3. レコードロック4. ギャップロック5. ネクス...

mysql mycat ミドルウェアのインストールと使用

1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...