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.
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?
The table tbl_sites contains the following data:
Userid sitename country
1 sureshbabu indian
2 PHPprogrammer andhra
3 PHP.net usa
4 PHPtalk.com germany
5 MySQL.com usa
6 sureshbabu canada
7 PHPbuddy.com pakistan
8. PHPtalk.com austria
9. PHPfreaks.com sourthafrica
10. PHPsupport.net russia
11. sureshbabu australia
12. sureshbabu nepal
13. PHPtalk.com italy
Write a select query that will displayed the duplicated
site name and how many times it is duplicated?