I writing a online store script using php.
Some scripts like opencart using MyISAM engine and someone using InnoDb.
Now I don't know use which engine? InnoDb or MyISAM?
I writing a online store script using php.
Some scripts like opencart using MyISAM engine and someone using InnoDb.
Now I don't know use which engine? InnoDb or MyISAM?
it totally depends on your view ... feature wise .. InnoDb supports table relationships and MyISAM does not ... however MyISAM support full text search which is not supported by InnoDb
InnoDB and MyISAM ("with respect to designing a table or database" you asked about) are support for "referential integrity" and "transactions".
If you need the database to enforce foreign key constraints, or you need the database to support transactions (i.e. changes made by two or more DML operations handled as single unit of work, with all of the changes either applied, or all the changes reverted) then you would choose the InnoDB engine, since these features are absent from the MyISAM engine.
Those are the two biggest differences. Another big difference is concurrency. With MyISAM, a DML statement will obtain an exclusive lock on the table, and while that lock is held, no other session can perform a SELECT or a DML operation on the table.
Those two specific engines you asked about (InnoDB and MyISAM) have different design goals. MySQL also has other storage engines, with their own design goals.
So, in choosing between InnoDB and MyISAM, the first step is in determining if you need the features provided by InnoDB. If not, then MyISAM is up for consideration.