MySQL предлагает различные механизмы баз данных по разным причинам - разные механизмы предлагают разные преимущества и недостатки. InnoDB - отличный движок, который обеспечивает ссылочную целостность и безопасность транзакций, но он плохо оптимизирован для случая использования веб-сайта, где у вас на порядок больше операций чтения, чем записи.
MyISAM предлагает лучшую производительность для веб-сайта, где большинству хитов нужен только доступ для чтения к базе данных. В таких случаях ссылочная целостность чаще всего может поддерживаться путем записи вставок и удалений данных таким образом, что они не могут добиться успеха, если они нарушают целостность.
Например, вместо записи
УДАЛИТЬ ИЗ mytable WHERE id = 5
Вы можете написать
УДАЛИТЬ mytable ИЗ mytable СЛЕДУЮЩЕЕ СОЕДИНЕНИЕ Соединенная таблица ON mytable.id = connectedtable.ref WHERE id = 5 И Linktable.ref IS NULL
Это удастся удалить строку только тогда, когда на нее нет внешних ссылок.