2016-11-11 6 views
0

Я планирую использовать MySQL InnoDB как встроенную базу данных, тогда я нашел ограничения от doc. В нем говорится, что:Может ли встроенный MySQL InnoDB поддерживать одновременные запросы?

InnoDB не является реентерабельным на встроенном сервере и не может использоваться для нескольких подключений последовательно или одновременно.

Означает ли это, что я не могу использовать несколько потоков для доступа к встроенному InnoDB одновременно?

ответ

0

Да, это означает, что вы не можете использовать встроенный InnoDB для одновременных запросов.

Встраиваемый означает только одно соединение из одного приложения. Механизм InnoDB работает как часть процесса этого приложения. Подобно тому, как вы будете использовать что-то вроде SQLite.

Если вам нужно подключить многопользовательскую РСУБД, тогда по определению это не встроенная база данных. Вам нужно запустить полномасштабный MySQL-сервер. Но это не так сложно.

Вы также должны знать, что MySQL 8 will retire support for the embedded libmysqld.

Возможно, вы захотите найти другую встроенную базу данных (SQLite), или зайти на обычный сервер RDBMS, если вам нужно несколько соединений.

+0

Спасибо, Билл! В нашем случае использования встроенных RDBMS, наши варианты встроены в MySQL и SQLite. На самом деле SQLite может поддерживать несколько соединений, но я обнаружил, что встроенный InnoDB, похоже, не может. Поэтому мне интересно, поддерживает ли встроенный myisam несколько соединений. И я заметил, что после 5.7 встроенный mysql не будет поддерживаться, но я думаю, что 5.7 уже очень высокая версия и стабильная, для меня все в порядке. – pengdu