基本的に、Web サイトの多言語サポート用に、、、、の列を持つテーブルがlang
ありpg VARCHAR(20)
、99.999% の場合、データは書き込まれる代わりにテーブルから読み取られます。読み取り指向のテーブルでは、MyISAM が InnoDB よりも優れたパフォーマンスを発揮すると聞いたことがあります。列のみが句として使用されることを考慮して、このテーブルは MyISAM または InnoDB のどちらである必要がありますか?id VARCHAR(20)
en (TEXT)
ru (TEXT)
pg
WHERE
1 に答える
1
序文: 私は DBA ではありません。
MyISAM の主な利点は、指定された各インデックスを必須の自動生成された主キー ID (InnoDB 風) にインデックス化するのではなく、指定したフィールドに実際にインデックス化することだと思います。ここでの大きな利点は、(pg、en、ru) の単一のインデックスのように複数のフィールドを含むインデックスが必要な場合、MyISAM は実際にその 1 つのインデックスを作成できることです。
あなたのケースでは、1 つのフィールドだけを検索したい場合、行を取得するためにその 1 つのフィールドを調べるだけでよいため、MyISAM から適度なパフォーマンス向上が得られる可能性があります。InnoDB はフィールドから ID のリストを取得し、ID で行を取得します。とにかく、これはほとんど最適化されているものです。
明確なアドバンテージがなければ、クリーンで簡単な方法なら何でもします。本当に答えを知りたい場合は、ベンチマークする必要があるかもしれません。
繰り返しますが、私は DBA ではありません。
于 2012-11-14T22:49:09.030 に答える