医療系のデータベースを提供している機関が、利用者に対してデータを提供します。
このとき、利用者のためにデータベースから「データ抽出」をしました。と良く言われます。
データ抽出の定義は、人によって解釈は違います。
しかし、ほとんどの機関で提供しているデータを観察していると普遍性があります。
それは、各機関が保有しているデータベースと同じデータ構造のデータを提供しているという点です。
生物統計系の方に分かりやすく言い換えると、「変数が元のデータベースのものと変わらない」データ構造で提供されているとも言えます。
ここまで説明しても、「それがどうかしたの?」と思う人もいるでしょう。
だから、もう少し論理的に述べてみましょう。
目次
計算負荷から見たデータ抽出の定義
先ほど述べたデータ抽出の定義(変数が変わらない)を、計算負荷の観点から定義してみます。
一般に、データベースには複数のテーブルが存在しています。
ここで、各テーブルのレコード数を一律にNと仮定してみます。
すると、データ抽出の計算負荷量もNになります。
ここで重要なことは、先の定義に従う限り計算負荷はN×N(Nの二乗)以上には決してならないということです。
よくある間違い
データ抽出で良くある間違いは、「JOIN」コマンドを使うことです。
データ抽出に、JOINコマンドは必要ありません。
JOINコマンドは、2個以上のテーブルを掛け合わせる行為です。
つまり、JOINを使ってしまうとN×N(Nの二乗)のオーダーになってしまうのです。
コメント