42

全文検索と外部キーを含む研究用の Web アプリを作成しています。

どこかで読んだことがありますが、MyISAM エンジンは全文検索に適しており、InnoDB は外部キーに適しています。

この状況で最高のパフォーマンスを得るには、どのエンジンを使用すればよいでしょうか?

  • MyISAM が外部キー関係をサポートしていないのに、InnoDB がサポートしているのはなぜですか?
  • MyISAM が全文検索をサポートしているのに、InnoDB がサポートしていないのはなぜですか?
4

2 に答える 2

49
  1. 親切に教えてください、この状況では、パフォーマンスを向上させるためにどのエンジンを使用する必要がありますか?

    各ストレージ エンジンのパフォーマンスは、実行するクエリによって異なります。ただし、同じデータベース内の異なるテーブルは異なるストレージ エンジンを使用できることに注意してください。

  2. なぜ MyISAM エンジンは外部キー関係をサポートせず、InnoDB はサポートするのですか?

    外部キーの相違点に記載されているとおり:

    後の段階で、外部キー制約もMyISAMテーブルに実装されます。

    したがって、外部キー制約は .NET ではまだ実装されていませんMyISAM

EDITMyISAM : そのコメントがドキュメントから削除されたため、エンジンに外部キー制約を実装する予定はなくなったようです。

  1. MyISAM エンジンが全文検索をサポートし、InnoDB がサポートしないのはなぜですか?

    What Is New in MySQL 5.6 に記載されているとおり:

    テーブルにFULLTEXTインデックスを作成し、構文を使用してクエリを実行できます。InnoDBMATCH() ... AGAINST

    したがって、全文検索はInnoDBMySQL 5.6 の時点で実装されています。

于 2012-10-19T09:34:22.570 に答える