一般的に使用される 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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: vue3 watch と watchEffect の使い方と違い
>>: Trash-Cli: Linux のコマンドラインごみ箱ツール
<br />帯域幅の増加に伴い、Web ページ上のオブジェクトも増えているため、Web ...
前の章では、1 つのテーブルからデータを読み取る方法を学習しました。これは比較的簡単ですが、実際のア...
この記事では、MySQL 5.7.20のインストールと設定方法を参考までに紹介します。具体的な内容は...
目次axiosとは何ですか? Axios リクエストタイプ? Axiosはデフォルトのカスタム構成を...
この投稿では、キャンバスとドラッグ可能なノード インターフェースを使用するデスクトップおよび Web...
Linux システムを使用したことがある人なら、Linux システムの ls コマンドは通常、ファイ...
vue3 が誕生してからかなり時間が経ち、筆者も最近になって vue3 を学び始めました。 vue2...
間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...
以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...
目次1. インストール前の準備、インストールパッケージのダウンロード1 インストールの準備2 インス...
シナリオリクエストが 10 件あるが、同時リクエストの最大数は 5 件で、リクエスト結果が必要である...
ルート ルーティング コンポーネント (アプリの下のルート ルーティング コンポーネント。子コンポー...
LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されて...
docker リポジトリ自体は非常に遅いですが、中国の Alibaba Cloud ミラー リポジト...
IE は開発の初期段階では頭を悩ませましたが、他のブラウザとは異なります。他のブラウザがサポートして...