データベースを高速化する為に「Fat Tables」を使用する
日付 | 1999/07/02 |
---|---|
ID | 99-81 |
バージョン | |
プラットフォーム |
この記事は、最新ではないバージョンに関連した方法について解説しています。
最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。
4th Dimensionはレコードをロードする時には、必ずレコード“全体”をロードします。
それはすべてのフィールドの内容を読み出すということです。ほとんどの型のフィールドは、たいしたデータ量ではなく、時には数バイトしかありません。しかし、これから話す3つのフィールドは大量のデータを保持していることがあります。BLOB、テキスト、ピクチャーです。 これらのフィールドのサイズは、納められたデータのサイズに依存しています。
これらのフィールド型のデータは数百バイトから時には数メガバイトにもなることがあります。 ハードディスクから多くのデータを読み込むには、それ相応の時間が掛かるものです。レコードのデータ量が増えれば、それだけ4Dはレコードのロードに時間が掛かります。このことが累積的にデータベースの速度に劇的な影響を与えることがあります。状況によっては、この問題の回避策となるシンプルなトリックがあります。
テーブルにBLOB、テキスト、ピクチャフィールドがあるものの、多くのデータベース処理ではそれらが使われていなかったとしましょう。そんな場合は、これらのフィールドを別のテーブルへ移してしまいましょう。この移行先のテーブルを「Fat Tables」と呼ぶことにします。
元のテーブルとFat Tablesはリレートされていますが、明示的にFat Tables側のレコード読み込みを指示しない限り、ロードされないためにマニュアルリレートにしておかなければいけません。
この手法で定義したデータベースでは、BLOB、テキスト、ピクチャフィールドの内容を必要としない操作ではロードされませんので、より高速に動作します。