2016-11-11 3 views
0

Ich plane, MySQL InnoDB als eine eingebettete Datenbank zu verwenden, dann fand ich die Einschränkungen von der doc. Es besagt, dass:Kann der eingebettete MySQL InnoDB gleichzeitige Anfragen unterstützen?

InnoDB ist nicht im eingebetteten Server reentrant und kann nicht für mehrere Verbindungen nacheinander oder gleichzeitig verwendet werden.

Bedeutet das, dass ich nicht mehrere Threads verwenden kann, um gleichzeitig auf die eingebettete InnoDB zuzugreifen?

Antwort

0

Ja, das bedeutet, dass Sie Embedded InnoDB nicht für gleichzeitige Anfragen verwenden können.

Eingebettet bedeutet nur eine Verbindung von einer einzigen Anwendung. Das InnoDB-Modul wird als Teil des Prozesses dieser Anwendung ausgeführt. Ähnlich wie Sie SQLite verwenden würden.

Wenn Sie RDBMS mit mehreren Benutzern verbinden müssen, handelt es sich per Definition nicht um eine eingebettete Datenbank. Sie müssen einen vollwertigen MySQL-Server ausführen. Aber das ist nicht so schwer.

Sie sollten auch wissen, dass MySQL 8 will retire support for the embedded libmysqld.

Sie möchten vielleicht eine andere eingebettete Datenbank (SQLite) finden oder einen herkömmlichen RDBMS-Server verwenden, wenn Sie mehrere Verbindungen benötigen.

+0

Danke Bill! Unser Anwendungsfall benötigt das eingebettete RDBMS, unsere Auswahlmöglichkeiten sind MySQL und SQLite. Eigentlich kann SQLite mehrere Verbindungen unterstützen, aber ich fand, dass Embedded InnoDB scheint nicht. Ich frage mich also, ob embedded myisam mehrere Verbindungen unterstützen kann. Und ich habe bemerkt, dass nach 5.7, eingebettete MySQL wird nicht unterstützt werden, aber ich denke, 5,7 ist bereits eine sehr hohe Version und stabil, es ist in Ordnung für mich. – pengdu

Verwandte Themen