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.
1. Write a queryto retrieve the author who was
published a book at the youngest age?
2. write a query to retrieve the no. of books
published a each year in various languages?
3. write a query to retrieve no. of books published by
them only those authors who have published more than 1 book?
4. write a query to retrieve who has not published any
books during the year 2006?
5. write a query to retrieve the authors who has
published any books during the birth date write this query
in 2 ways 1)joins 2)sub query
6. write a query to retrieve all the books which was
published during jan 2007 & title containing India or
published in the language hindi?
1. table name is liberary managemnt and two column is
there one is authors and another one is books .
2.four fields will comes under authours like nationality,
3.four fields will comes under books like
authour,title ,language,publish date to write query using
at first i'm using
datediff('d', a.due_date, current_date);
but it takes too long to get the result
but how can i subtract the current_date - a.due_date
and still get the same result like when i use datediff?