以下に紹介する Mysql テーブルのパーティショニング プロセスは、ハッシュ アルゴリズムに基づいています。Mysql テーブルのパーティショニング プロセスを理解する前に、まずハッシュ アルゴリズムを理解しましょう。 ハッシュ テーブルは、特別なハッシュ アルゴリズムによって計算された値です。この値は一意である必要があり、計算された値を使用して必要な値を見つけることができます。これをハッシュ テーブルと呼びます。 サブテーブルで使用するハッシュ アルゴリズムもこの考え方に似ています。特定のハッシュ アルゴリズムを使用して、元のターゲットの ID または名前からデータ ストレージ テーブルのテーブル名を計算し、対応するテーブルにアクセスします。 上記の Tieba を続けると、各 Tieba にはセクション名とセクション ID があります。これら 2 つの値は固定かつ一意であるため、これら 2 つの値のいずれかに対して何らかの操作を実行することで、対象テーブルの名前を取得することを検討できます。 ここで、Tieba システムについて考えてみましょう。システムで許可されるデータは最大 1 億個で、各テーブルには 100 万件のレコードが格納されると仮定すると、システム全体を 100 個以下のテーブルに収容できます。この標準に従って、Tieba のフォーラム ID をハッシュし、テーブル名であるキー値を取得して、対応するテーブルにアクセスすることを想定しています。 単純なハッシュアルゴリズムを構築します。 関数 get_hash($id){ アルゴリズムは基本的にセクション ID 値を渡し、関数は 4 桁の文字列を返します。文字列の長さが足りない場合は、0 が埋め込まれます。 たとえば、get_hash(1) は「3100」を出力し、get_hash(23819) を入力すると 3233 が返されます。その後、テーブル プレフィックスと組み合わせるだけでテーブルにアクセスできます。次に、ID 1 のコンテンツにアクセスする必要がある場合、結合されたテーブルは topic_3100、reply_3100 となり、ターゲット テーブルに直接アクセスできます。 もちろん、ハッシュ アルゴリズムを使用した後、一部のデータが同じテーブルに存在する可能性があります。これはハッシュ テーブルとは異なります。ハッシュ テーブルは競合を解決しようとしますが、ここでは必要ありません。もちろん、テーブル データが格納される可能性のあるテーブル名を予測して分析する必要もあります。 より多くのデータを保存する必要がある場合は、バイナリを16進数に変換するなど、セクション名をハッシュすることもできます。漢字は数字や文字よりもはるかに多いため、重複の可能性は低くなりますが、組み合わせることができるテーブルが増えるため、それに応じて他の問題を考慮する必要があります。 最終的に、ハッシュ方式を使用する場合は、より多くのテーブルを生成し、データをより速くクエリするために、適切なハッシュ アルゴリズムを選択する必要があります。 【編集者のおすすめ】 MySQLサーバーの内部ロック Mysql マージテーブルの利点 MySQL と SQL Server の 25 の違い MySQLの一時テーブルについてさらに詳しく知るには MySQL の概要 ステートメントの使用方法を表示 |
<<: ドイツのハッカーはレンタルしたコンピュータリソースを使ってハッシュアルゴリズムを攻撃する
有用か無害かLlama-2-chat は、セキュリティ フィルターに関して過度に敏感な動作を示すこと...
[[434129]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...
ディープラーニングディープフェイクの危険性: 2024 年には、特に仮想顧客サービス環境において、消...
著者 | 杜家平なぜこのトピックを議論するのですか?このトピックを議論する本質的な理由は、顧客にデー...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[405284]] Google が 2017 年 6 月に論文「Attention is Al...
大規模モデルの開発と応用が急速に発展するにつれ、大規模モデルの中核となる基本コンポーネントとしての埋...
機械学習では数学が非常に重要です。アルゴリズムにおけるモデルコードの理解と、エンジニアリングにおける...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ここでは、AI が日常生活で非常に正確に使用されている 5 つのベスト例を紹介します。人工知能 (A...