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 のコマンドラインごみ箱ツール

推薦する

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

TypeScript のクラス

目次1. 概要2. シンプルなクラスを定義する3. 継承4. public、private、prot...

React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...

HTML での非同期ファイルアップロードの例

コードをコピーコードは次のとおりです。 <form action="/hehe&qu...

RR および RC 分離レベルでのインデックスとロックのテスト スクリプトのサンプル コード

基本概念現在の読み取りとスナップショットの読み取りMVCC では、読み取り操作はスナップショット読み...

HTML CSS を使用して div またはテーブルを指定した位置に固定する方法

CSSコードコンテンツをクリップボードにコピー.bottomTable{背景色: rgb (249,...

衝突検出を実装するためのjs

この記事の例では、衝突検出を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内...

Linux システムで MySQL の文字セットを UTF8 に変更する手順

目次1. データベース内の MySQL ステータスを確認します。 2. 設定ファイルを変更します。 ...

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

LinuxにNginxを素早くインストールする方法

目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...

Linuxサービスの監視と運用および保守

目次1. psutilパッケージをインストールする次に、オペレーティングシステム内のすべてのサービス...

MySQLの3つの用途と違いは同等ではない

MySQLでは判定記号がよく使われますが、等しくない記号はもっと一般的に使われます。次の3つの等しく...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

Linux xargsコマンドの使用

1. 機能: xargs は、stdin 内のスペースまたは改行で区切られたデータをスペースで区切ら...

複数サーバーの負荷分散を実現するためのNginx構成

Nginx ロード バランシング サーバー: IP: 192.168.0.4 (Nginx-Serv...