Я написал скрипт интернет-магазина, используя php.
Некоторые сценарии, такие как opencart, используют движок MyISAM, а кто-то использует InnoDb.
Теперь я не знаю, какой двигатель использовать? InnoDb или MyISAM?
это полностью зависит от вашего взгляда … с точки зрения функциональности. InnoDb поддерживает табличные отношения, а MyISAM — нет … однако MyISAM поддерживает полнотекстовый поиск, который не поддерживается InnoDb
InnoDB и MyISAM («относительно разработки таблицы или базы данных», о которых вы спрашивали) поддерживают «ссылочную целостность» и «транзакции».
Если вам нужна база данных для обеспечения ограничений внешнего ключа или вам нужна база данных для поддержки транзакций (т. Е. Изменения, сделанные двумя или более операциями DML, обработанными как одна единица работы, со всеми примененными изменениями или отменой всех изменений) тогда вы бы выбрали движок InnoDB, так как эти функции отсутствуют в движке MyISAM.
Это две самые большие различия. Другое большое отличие — это параллелизм. С MyISAM оператор DML получит монопольную блокировку таблицы, и пока эта блокировка удерживается, никакой другой сеанс не может выполнить операцию SELECT или DML для таблицы.
Эти два конкретных движка, о которых вы спрашивали (InnoDB и MyISAM), имеют разные цели проектирования. MySQL также имеет другие механизмы хранения, со своими собственными целями проектирования.
Таким образом, при выборе между InnoDB и MyISAM, первый шаг — определить, нужны ли вам функции, предоставляемые InnoDB. Если нет, то MyISAM на рассмотрение.