全文検索と外部キーを含む研究用の Web アプリを作成しています。
どこかで読んだことがありますが、MyISAM エンジンは全文検索に適しており、InnoDB は外部キーに適しています。
この状況で最高のパフォーマンスを得るには、どのエンジンを使用すればよいでしょうか?
- MyISAM が外部キー関係をサポートしていないのに、InnoDB がサポートしているのはなぜですか?
- MyISAM が全文検索をサポートしているのに、InnoDB がサポートしていないのはなぜですか?
親切に教えてください、この状況では、パフォーマンスを向上させるためにどのエンジンを使用する必要がありますか?
各ストレージ エンジンのパフォーマンスは、実行するクエリによって異なります。ただし、同じデータベース内の異なるテーブルは異なるストレージ エンジンを使用できることに注意してください。
なぜ MyISAM エンジンは外部キー関係をサポートせず、InnoDB はサポートするのですか?
外部キーの相違点に記載されているとおり:
後の段階で、外部キー制約も
MyISAM
テーブルに実装されます。
したがって、外部キー制約は .NET ではまだ実装されていませんMyISAM
。
EDITMyISAM
: そのコメントがドキュメントから削除されたため、エンジンに外部キー制約を実装する予定はなくなったようです。
MyISAM エンジンが全文検索をサポートし、InnoDB がサポートしないのはなぜですか?
What Is New in MySQL 5.6 に記載されているとおり:
テーブルに
FULLTEXT
インデックスを作成し、構文を使用してクエリを実行できます。InnoDB
MATCH() ... AGAINST
したがって、全文検索はInnoDB
MySQL 5.6 の時点で実装されています。