0

基本的に、Web サイトの多言語サポート用に、、、、の列を持つテーブルがlangありpg VARCHAR(20)、99.999% の場合、データは書き込まれる代わりにテーブルから読み取られます。読み取り指向のテーブルでは、MyISAM が InnoDB よりも優れたパフォーマンスを発揮すると聞いたことがあります。列のみが句として使用されることを考慮して、このテーブルは MyISAM または InnoDB のどちらである必要がありますか?id VARCHAR(20)en (TEXT)ru (TEXT)pgWHERE

4

1 に答える 1

1

序文: 私は DBA ではありません。

MyISAM の主な利点は、指定された各インデックスを必須の自動生成された主キー ID (InnoDB 風) にインデックス化するのではなく、指定したフィールドに実際にインデックス化することだと思います。ここでの大きな利点は、(pg、en、ru) の単一のインデックスのように複数のフィールドを含むインデックスが必要な場合、MyISAM は実際にその 1 つのインデックスを作成できることです。

あなたのケースでは、1 つのフィールドだけを検索したい場合、行を取得するためにその 1 つのフィールドを調べるだけでよいため、MyISAM から適度なパフォーマンス向上が得られる可能性があります。InnoDB はフィールドから ID のリストを取得し、ID で行を取得します。とにかく、これはほとんど最適化されているものです。

明確なアドバンテージがなければ、クリーンで簡単な方法なら何でもします。本当に答えを知りたい場合は、ベンチマークする必要があるかもしれません。

繰り返しますが、私は DBA ではありません。

于 2012-11-14T22:49:09.030 に答える