1. ホーム
  2. データベース
  3. その他のデータベース

どのようなデータベースのサブベースのサブテーブルは、どのような状況でサブベースのサブテーブルを使用する必要があります。

2022-01-18 01:19:12

データ量が多く、テーブルへの分割が必要な場合とは?

データベースへの問い合わせを効率的に行うため、一定のデータ量に達した時点でテーブルを分割することが推奨されます。

1. オラクル

oracleの単一テーブルが2000万行以上のデータである場合、水平分割を推奨します。

2. mysql

mysqlで1つのテーブルに1000万行以上のデータがある場合、水平分割を推奨します。

1000W以上への単一のテーブルの容量は基本的に少し複雑なSQLは慎重に最適化する必要があり、この時間は、SQLの時間消費は、主にディスクIOに集中し、データコマンドキャッシュの確率は、要するに、よくない、それは通常のインターネットプロジェクト、事前分割ライブラリ分割テーブル、初期段階で最初に行うことができる場合、後でデータ移行物に対処する多くの時間を保存します、データ操作がより頻繁にされています。このような順序のテーブルとして、挿入と更新操作を伴う可能性があります大規模な同時実行、この時点で、唯一のライブラリ、ディスクIOとmysqlのパフォーマンスは、ライブラリやテーブル、テーブルと基本情報テーブル別処理、単一のデータベースへの圧力を減らすの頻繁な操作を分割するようにテストされている場合は特に読み取りと書き込み他の基本情報に影響を与えないようにしながら

サーバーが1つだけの場合、多くのselectがある場合、更新と削除は、これらのselectアクセスのデータによってブロックされ、selectの終了を待って、同時実行性能は高くはありません、あなたは、読み書き分離を選択する必要があり、マスターライブラリは、書き込みと読み取りを担当するスレーブライブラリです \color{#FF0000}{master library responsible for writing, slave library responsible for reading}master library responsible for writing, slave library is responsible for reading.

詳細はデータベースサーバーの構成やアーキテクチャに関するもので、あくまで参考です

3. sqlserver

sqlserverは一般的に、テーブルの分割操作を選択するために以下の条件を備えています。

1. テーブルのサイズが2GB以上である。
2、テーブルには過去のデータが含まれており、新しいデータはすべての新しいパーティションに追加されます。

テーブルのデータ量が数千万になると、1回のクエリーに多くの時間を消費するため、ある程度のデータ量になると、テーブルを水平方向に切断する必要がある。テーブルの水平分割とは、テーブルを論理的に分割し、物理的に指定したルールに従ってファイルを分割し、大きなデータファイルを複数の小さなファイルに分割し、さらにそれらの小さなファイルを異なるディスクの下に置くことである。このように大きなファイルを複数の小さなファイルに分割することで、データの管理が容易になる。 

スプリットライブラリ、スプリットテーブルとは?

1. スプリットテーブルとは何ですか?

その名の通り、1つのライブラリに保存されているデータが複数のライブラリに分散され、1つのテーブルに保存されているデータが複数のテーブルに分散されます。

2. ライブラリとテーブルを分割する必要があるのはどんなとき?

データベースが作成されると、時間の経過と業務量の増加により、データベースのテーブルと表のデータ量が多くなり、2つのデメリットが発生することがあります。(1)データベースの記憶資源は限られており、その負荷容量も限られている、大量のデータの蓄積は、確かにデータを処理する能力につながる、(2)データが多ければ多いほど、データの追加、削除、およびチェックが行われます。(2)データが多いほど、データの追加、削除、チェックのオーバーヘッドが大きくなるため、上記2つの状況が発生した場合、ライブラリとテーブルを分割することが必須となる。

3. テーブルとライブラリの分割方法

(1) 垂直方向のスライス

活用シーン:テーブル数が多くデータが大きい場合、同一ライブラリ(サブリポジトリ)内の密接にリンクしたテーブルを機能別にスライスして利用する。

テーブルのフィールドが多すぎる場合、列を起点としてフィールドを分割する(テーブルを分割する)ことができる。

(2)水平方向のスライス・アンド・ダイス

(a) シナリオ:テーブルのデータが大きすぎる場合、水平スライスを使用して、いくつかの合意されたルールに従って、データを異なるデータベースにスライスすることができます。

現在のデータベースに基づいて適切な選択をする必要がありますが、2つのシナリオを組み合わせることも可能です。

4. ルックアップを組み合わせるには?

ライブラリとテーブルを分割した結果、データが散乱し、問い合わせが悪くなるため、主に2つの方法で問い合わせを行います。

(1)、ステップバイステップクエリ:まずメインテーブルを調べ、次に関連テーブルのIDを取得し、関連データを取得するリクエストを開始します。

(2), Joint lookup: 複数のクエリーリクエストを同時に起動し、その結果をすべて集約する。 

この記事は、データベースのサブバンクとサブテーブルとは何か、どのような状況でサブバンクとサブテーブルを使用する必要があるかについて、ここで導入され、より関連するデータベースのサブバンクとサブテーブルの内容は、スクリプトハウスの過去の記事を検索するか、次の関連記事を閲覧し続け、あなたが将来的に多くのスクリプトハウスをサポートしています願っています