パーティショニングで高速化し大量データに備える佐藤栄一2008.07.14コピーしましたPR大量のデータを1つのテーブルに格納すると何かと不便となる。処理対象が大量だけに検索をはじめとして処理時間が大きくなる。現実の生活は、手に余る大量の物を小分けにするというテクニックをよく使う。データベースでもこの手法は有効である。大量データを小分けにすることで、処理の高速化と格納効率を向上することが可能である。5.1の新機能の筆頭に上がっているパーティショニングを解説する。5.1の注目機能パーティショニングとはパーティショニングとは、テーブルを分割して性能を向上させるための技術だ。5.0でもテーブルの分割機能はあった。複数のテーブルを連結して1つのテーブルに見せかけるMARGEストレージエンジン(テーブル)、SELECTステートメントを結合するUNIONなどがある。これらの機能は、もともと別々のテーブルを結合して処理する後処理的な位置づけになる。パーティショニングは、1つのテーブルを分割して格納する抜本的な機能だ。1つのテーブルを分割することによって、高速化や要領拡大を実現する。パーティショニングの基本動作パーティショニングは、テーブルの作成時に指定する。TABELステートメントの最後にパーティショニングの指定を行う。テーブルの基本的動作は、通常のテーブルと変りない。そのため、データの操作では、パーティショニングを意識する必要はない。図1●パーティショニングの基本動作データのデータ検索の際には、オプティマイザによって、必要なパーティションのみアクセスするようになる。そのため、検索時間が短縮化される。振り分け対象のカラム以外の検索は、高速化されない。パーティショニングによるレコードの降り分け方法パーティショニングは、対象となるカラムの値によって、各パーティションに振り分ける。パーティションに振り分ける方法には、RANGE、LIST、HASH、KEYの4種類が指定できる。1つ以上のカラムの値をMD5関数やPassword関数で評価して分割するRANGEおよびLISTは、指定したカラム(フィールド)の値によって、パーティションに振り分ける。そのため、どのパーティションにどのようなデータが含まれるか容易にわかる。逆にパーティションによって、格納するデータ量に偏りが発生するかもしれない。HASHおよびKEYは、パーティションに格納するデータ量に偏りがないように機械的に振り分けを行う。この記事は会員登録で続きをご覧いただけます。次ページでログインまたはお申し込みください。【第13期】8回のセミナーでリーダーに求められる“コアスキル”を身につけ、180日間に渡り、講師のサポートの...IT法務リーダー養成講座システム開発・運用に関するもめ事、紛争が後を絶ちません。人手不足に悩み、働き方改革の必要性が問われるIT企業。日本初のデジタルバンク「みんなの銀行」誕生の軌跡に学ぶ「みんなの銀行」という日本初のデジタルバンクをつくった人たちの話です。「次の一手」が分かるDXの祭典。2023年6月に大阪で開催します。情報変更・解約6/1開催ウェビナー『ChatGPTは我々の仕事をいかに変えるのか?。