Talk:InnoDB

This article could really use some links to standards and such. --User:Anonymous 02:08, 4 October 2005 (UTC)

NPOV
Is this article NPOV? Perhaps reliability does always favor InnoDB, but it sounds a bit like bias to me.
 * In terms of reliability, it is NPOV. More or less, InnoDB was designed with reliability over speed, MyISAM with the reverse.  —Preceding unsigned comment added by 128.33.22.52 (talk) 20:37, 13 November 2008 (UTC)

Official Website
innodb.com is no longer working -- it was replaced by spam site w/ google ads I removed it from the article.
 * working fine here. replaced it for now.84.9.210.27 21:44, 24 November 2006 (UTC)

Disadvantages of innoDB?
I know InnoDB has some advantages over MyISAM but there are at least two disadvantages too. The first one is speed but I'm not really sure how bad this is. More importantly: MyISAM allows for FULLTEXT indexes and InnoDB does not. For me this made the descision between the two (mainly transactions of InnoDB versus FULLTEXT indexes in MyISAM) most difficult. Also a difference is table locking: http://dev.mysql.com/doc/refman/5.0/en/table-locking.html

I think some info about these things should be added but I'm not a wikipedian. ;-) --t0maz 14:30, 14 November 2006 (UTC)


 * The whole section is ridiculous. As the page stands there's almost no information about InnoDB other than contrasting it to MyISAM. Even if it's neutral, it's not an encyclopedia page.--MijinLaw (talk) 15:47, 16 August 2011 (UTC)

Oracle: Index Organized Tables (IOT)
This article has a typo, "index clustered tables". And the idea of "similar to Oracle" is repeated in many other places (even published books).

First, it does not correspond to Oracle feature called Index Organized Tables (IOT). In Oracle, only a part of composite primary key and/or any other index should be used for index organized tables, for better performance and "less" storage requirements (storage is used differently). Also, data is written in "blocks" in Oracle, and each block has an address ("index-organized" in this case). So that "similar items" are written in a single and/or subsequent physical blocks. Different items are written in different blocks. Using primary key for index organized tables does not have any meaning in Oracle, it won't improve performance etc.

In InnoDB, the whole primary key is used for "index-organized" tables, and there is no "block", etc. (Am I right?)

Very difficult to compare Microsoft SQL with Oracle's index organized table feature... Oracle has unique physical-layer architecture (data blocks, tablespaces) and index organized tables is very natural subsequent feature...

Suppose we have simple table for banking application, ACCOUNT_ID, TRANSACTION_ID, MONEY_TRANSFERRED. Primary key is (ACCOUNT_ID, TRANSACTION_ID). In Oracle, ACCOUNT_ID should be used for index-organized table definition. Physically, for five records for the same ACCOUNT_ID written in a same block(s), ACCOUNT_ID will be written only once. Once for 5 records. In InnoDB, it will be written 5 times. —The preceding unsigned comment was added by Funtick (talk • contribs) 14:59, 24 April 2007 (UTC).

Mistake in the page
Hello This part from the article:

''When operating in fully ACID-compliant modes, InnoDB must do a flush to disk at least once per transaction, though it will combine flushes for inserts from multiple connections. For typical hard drives or arrays, this will impose a limit of about 200 update transactions per second. If you require higher transaction rates, disk controllers with write caching and battery backup will be required in order to maintain transactional integrity. InnoDB also offers several modes which reduce this effect, naturally leading to a loss of transactional integrity. MyISAM has none of this overhead, but only because it does not support transactions.'' is not true and can lead to some mistakes. The correct is that innodb must write to disk at the end of each transaction (commit/rollback). Before that the changes are only written in the log buffer, which is written to the disk when there is a commit or when the buffer is full. That way the writes on the hard drives do not occur with each statement but with each transaction and the writes itself are contiguous in the log file so they are fast. —Preceding unsigned comment added by 217.18.249.150 (talk) 06:25, 22 June 2007 (UTC)
 * I don't see the problem, the quote talks about transactions, not changes as you seem to have read. "InnoDB must do a flush to disk at least once per transaction" is correct, which mean it flushes the log buffer to disk at the end of each transaction, as you said. This can be a severe bottleneck when you have hundreds of threads. MyISAM on the other hand generally just passes changes on to the OS's disk buffer to write as it wishes. --Foxyshadis (talk) 03:21, 9 October 2010 (UTC)

New article? Comparison of MySQL Storage Engines
I would appreciate input on this discussion! ~ Josh "Duff Man" (talk) 16:59, 1 September 2011 (UTC)