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.
"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
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"
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.
if we want to load data from a text file into a mysql table,
but the columns in table are 1st: code(int) and 2nd:
city(varchar), but in text file the format is 1st cityname
and then code separeted by delimeters. how to load?
The structure of table view buyers is as follows:
| Field | Type | Null | Key | Default | Extra |
| user_pri_id | int(15) | | PRI | NULL | auto_increment |
| userid | varchar(10) | YES | | NULL | |
the value of user_pri_id the last row 2345 then What will
happen in the following conditions?
Condition1: Delete all the rows and insert another row
then. What is the starting value for this auto incremented
field user_pri_id ,
Condition2: Delete the last row(having the field value
2345) and insert another row then. What is the value for
this auto incremented field user_pri_id