what are the main differences between MyISAM and InnoDB
table storage structures ?
what are the advantages and disadvantages in usage of these ?
Answers were Sorted based on User's Feedback
There is foolowing Differences between MYISAM and InnoDB
ENGINE:-
1)MYISAM does not support the foreign key constraint and
transaction but InnoDB support it.
2)MYISAM is faster then the InnoDB but in case of perforing
the count operation it takes more time then the InnoDB.
3) MYISAM occupies less memory sapce for tables rather than
InnoDB tables.
| Is This Answer Correct ? | 79 Yes | 5 No |
Answer / prathiba
1.Transactions:MYISAM doesnt support any database
transactions means if the transactions related to large
amount of data transfer it will not provide because memory
is less. But INNODB will provide transactions.
2.Locking:MYISAM provide the table level locking means if
the data in one table has been modified by the other
table ,the entire table will lock for the next process.But
INNODB provide the row level locking only the row of the
table that is being updated is locked.
3.Foreign keys – MYISAM tables do not support foreign keys.
4.Data Types:MYISAM provide a full variety of datatypes,but
INNODB will not.
| Is This Answer Correct ? | 62 Yes | 3 No |
Answer / zubair bit
innoodb has maximum performance for large databases
| Is This Answer Correct ? | 26 Yes | 2 No |
Answer / dharma teja
myisam supports table level locking where as innoodb
supports only row level locking when updated
| Is This Answer Correct ? | 32 Yes | 10 No |
Answer / mark
this is pretty straightforward, not too technical though:
http://forums.devarticles.com/general-sql-development-47/difference-between-myisam-and-non-myisam-tables-1745.html
FTA:
"MyISAM is of course the default table type i'm MySQL. It's
an improvement over the now-deprecated ISAM table type. It
provides a simple tree structure for quick indexing on small
tables, typicall fewer than 10,000 rows of data.
There are some other types of tables supported in MySQL,
most of which won't provide any noticable differences.
A MERGE table is a table that only exists in memory, and
will not be saved if MySQL crashes or has to be restarted.
It is, as the name suggests, a merge of two (or more)
tables. If you drop a MERGE table, it only drops the
reference to the merge, not to the tables that are combined
in it. It's not good for much!
Another table, the one which is best for huge tables, is
InnoDB. It's probably the best RDBMS out there; it's
actually a whole set of drivers on it's own, and when you
use it, MySQL is really just a wrapper around the InnoDB
table. Slashdot and other megamammoth sites out there use
it, it's fast and effecient, but the trees are pretty large,
so it's not good for smaller tables.
There are a few others.. like BerkeleyDB, which isn't
anything special and doesn't provide any major performance
increase.
The major difference between the various table types are the
data tree structures and how they're handled within the RDBMS.
In the end, you'll probably find yourself sticking to MyISAM
unless you're on a very large-scale project, in which cas
eyou probably woudln't use MySQL anyway =D"
| Is This Answer Correct ? | 30 Yes | 12 No |
Answer / narendra sharma
MyISAM : it is an engine and faster and occupy the less
space so not good enough for large transaction, also not
support the foreign key concept, it provide the table level
locking mean any change in the will be available as modified
table next time.
innoDB : It is also an engine and slow in comparison the
MyISAM engine, but good enough for large transaction, also
provide the row level locking mean updation is fast. Useful
for BANK SYSTEM.
| Is This Answer Correct ? | 17 Yes | 1 No |
Answer / chalbal jha
MyIsam provide full text search which is not supported by
Innodb
| Is This Answer Correct ? | 21 Yes | 8 No |
Answer / vikas
MyISAM don't take more space comparision to the INNODB in mysql
| Is This Answer Correct ? | 6 Yes | 1 No |
In a property booking section want a query to check that property is booked from StartDate to EndDate.Booking Table field are given id proerty_id start_date checkout_date no_of_visitor booking date status Waiting yours answer.. Thanks In Advance...
What is mysql url?
How to decrement dates by 1 in mysql?
What is the storage engine used for MySQL?
How do I connect to a mysql database?
What happens if a table has one column defined as TIMESTAMP?
How to update info already in a table and delete a row(s) from a table.
can you elaborate on blob and text in mysql? : Mysql dba
How do you start and stop MySQL on Windows?
Can a table have multiple primary keys?
What is the difference between mysql_connect() and mysql_pconnect()?
How do I stop a query in mysql workbench?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)