Warum unterstützt die InnoDB-Engine von MySQL keine Fremdschlüssel?
Schreibe ich eine web-app für mein Studium beinhaltet Volltext-Suche und Fremdschlüssel.
Ich habe irgendwo gelesen, InnoDB-engine ist geeignet für die Volltext-Suche, und InnoDB-für fremde Schlüssel.
In dieser situation, was soll der Motor für die beste Leistung?
- Warum InnoDB nicht unterstützt foreign key-Beziehung, aber InnoDB braucht?
- Warum InnoDB unterstützt full-text Suche, aber InnoDB nicht?
InformationsquelleAutor der Frage Firefox101 | 2012-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Leistung jedes Speichermodul wird, hängt von der Abfragen, die Sie durchführen. Beachten Sie jedoch, dass andere Tabellen in der gleichen Datenbank verwenden können, verschiedene Speicher-engines.
Dokumentiert unter Foreign Key-Unterschiede:
Daher, foreign key-Einschränkungen sind einfach noch nicht implementiert in
InnoDB
.BEARBEITEN: So, der Kommentar ist entfernt von docs, scheint es, dass es nicht mehr geplant zu implementieren foreign key-Einschränkungen in
InnoDB
Motor.Dokumentiert unter Was Ist Neu in MySQL 5.6:
Daher, Volltext-Suche implementiert wurde
InnoDB
als MySQL 5.6.InformationsquelleAutor der Antwort eggyal
Ich erinnere mich an die Zeiten, wenn mysql hatte nur myisam und innodedb war in der Entwicklung. MyIsam hat keine Fremdschlüssel, weil es alte system nicht unterstützt Beziehungen in der Datenbank. Es wird nie foreign keys! Um es zu Verwenden müssen Sie innodb. Wenn Sie nicht brauchen, das sind alles Sachen, wie die Beziehungen in der DB, InnoDB verwenden, um bessere Leistungen zu erzielen.
InformationsquelleAutor der Antwort rafal