簡単に言うと、私が取り組んでいるアプリケーションの一部は、アプリケーションの別の部分が後で取得できるように、ある程度大量のデータをデータベースに格納する必要があります。通常、これは 2000 行未満ですが、場合によっては 300,000 行を超えることがあります。データは一時的に保存する必要があり、後で削除できます。
色々と考えていて、今日ふと思いついたことがあります。データ型はLONGTEXT
最大 2^32 バイト (4 GB に相当) を格納できます。さて、1 つの表の行に詰め込むには多くの情報が必要です。データはおそらく最大でも 60 ~ 80 MBを超えることはありません。しかし、私の質問は、実際にそれを行うのは良い考えですか?
私が現在使用しようとしている2つのソリューションは、次のようなものです。
- すべてのデータを個々の行として「一時」テーブルに挿入し、終了後に切り捨てます。
LONGTEXT
すべてのデータをシリアル化された文字列として、終了後に削除される行の列に挿入します。
純粋にパフォーマンスの観点から、データを潜在的に 300,000 を超える個々の行として保存するか、60 MBLONGTEXT
のエントリとして保存する方がよいでしょうか?
LONGTEXT
それがウォッシュである場合、データを取得するアプリケーションの部分を書きやすくするため、おそらくオプションを使用します。また、アプリケーションの全体的なパフォーマンスを向上させるさらに別の部分との連携も強化されます。
これについて何か考えていただければ幸いです。