Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
 
  HOME    TRACKER    MYSQL




InnoDB Vs MyISAM


I wonder witch one is best? What is the differance? Witch one is faster in witch case?

I hope someone can take littel time to answer me about these two database motors.




View Complete Forum Thread with Replies

See Related Forum Messages: Follow the Links Below to View Complete Thread
Myisam Or Innodb
Is there a way to show what type of a storeage engine a table is using from the mysql monitor?

The Age-old MyISAM Vs InnoDB
Okay, someone help me out here. I want to see some numbers supporting the omnipresent claim that MyISAM tables are faster than InnoDB tables. I don't want to hear "MyISAM is the best because it's faster"; Google gave me over 100,000 links to pages that say that. I want to see numbers, results from benchmarking. I'm well aware of the difference in features between the two engines (transactions, referential integrity, full-text indexing, etc), I'm simply interested in seeing support for the claims of speed superiority the MyISAM crowd are always quick to shout. I'll start:

http://www.mysqlperformanceblog.com/...hmarks-part-1/
This is the only set of data I could find comparing InnoDB and MyISAM, and shows in general InnoDB demonstrating superior performance over MyISAM. This test was done exclusively on SELECT statements, where MyISAM allegedly dominates InnoDB hands down.

In my own (admittedly limited) testing, again solely on SELECT statements using a mixture of indexed and non-indexed columns in WHERE, ORDER BY, and GROUP BY columns, and even tossing in a few aggregate functions just for fun, InnoDB and MyISAM were virtually neck-in-neck, with InnoDB never eeking out more than a 20% lead and MyISAM never returning faster at all. (Average InnoDB lead: 2.8%, statistically insignificant and putting it well within the realm of possibility that my observation that InnoDB was always faster was nothing more than a fluke.)

Innodb And Myisam
what are difference characteristics between inodb and myisam?

InnoDB Or MyISAM?
I'm having a tough time on how to choose a table type in my database design.

I am designing a multi-user web application and want to take advantage of both transactions and full text searching. However, as you know, I can only choose InnoDB for transactions or MyISAM for full text indexing/searching.

How do you guys go about deciding which to choose from? I've thought about using different types in different tables, to suit my needs. However, all data is dependent on each other. This means if I set table A to InnoDB, and table B to MyISAM, future transactions wouldn't work properly if I had to delete/update to both tables at once.

Innodb Or MyISAM ?
I have been reading a lot about Innodb and MyISAM recently. MyISAM offers speed whereas Innodb offers reliability. MyISAM is fast but with no transactions support, Innodb has certain, but very important limitations.


The InnoDB which makes it fast for INSERTs, UPDATEs and DELETEs while MyISAM offer the best performance for SELECTs.


so my doubt here which is best MyISAM or Innodb.Can I use Both engines in a
single table and How Innodb handles foreign key constraints and how Myisam handles fulltext indexes.if we apply both in a single table.what is the sysntax for doing like this

Innodb Vs Myisam
hi every one i am working on a database for a website, and just want to know how faster will be myisam from innodb if you please can tell me in percentage if you want to look at the design of the database i had it on this

MyIsam DB To InnoDB...
How do I convert my existing database, which I'm using MySQL ver 4 for Windows and MyISAM table type to store the data, to the new format – InnoDB, without problem (
losing data...)

InnoDb -v- MyISAM
I have three tables one of which is a ManyToMany table.

tbl_Groups
Group_ID | Group_Name

tbl_Premises
Premises_ID | Premises_Name

m2m_GroupsPremises
Group_ID | Premises_ID

can the two tbl's be made with MyISAM and the m2m be made with innoDb or must they all be innoDB? I wonder if only those with a foreign key need to be built with InnoDb.

MyIsam -v- InnoDB
What is the view of the panel on this one? I suspect that there may be trade-offs but, I welcome your experience-based opinions.

InnoDB Vs. MyISAM
I'm making a database with about 20 tables, each once with many rows (ranging from 1000 to 100,000 from table to table) and it needs to be quick for updates and selects. I'm confident that I can arrange the tables and keys in a manner which provides me with good speed, however I cannot decide on which database to use.

I read some documentation that said that InnoDB was best for a web server (where the database is hosted) for transactions. However each user only ever performs a single action at a time (although many users are online simultaniously). The only times I need to lock and tables or records are for backups and maintenance, which I will do inside the user code anyway. With that information can anyone help me to determine which would be the best database, InnoDB or MyISAM?

InnoDB Vs MyISAM
I'm looking at what tables to use in my database and am thinking innodb will be better as it allows foreign keys however I was just wondering how much faster myISAM tables are?  

My table will probably have around 500,000 records...

Any thoughts / advice?

MyISAM Vs. InnoDB
I'm designing an event registration web application and have created a database on our UNIX web hosting server using MySQL 4.1. I need to join several tables using a registration ID.

My question: What is the best table design method to use - MyISAM or InnoDB?

MyIsam V Innodb
I am working with a test database. Originally the tables were all innodb. I have a number of queries involving and I had performed a certain amount of optimisation to ensure that the queries were using the correct indexes and were not performing a table scan.

I then changed the table type to MyIsam because I wanted to speed up the application and I do not require that the database is transaction-safe. However when I ran the same EXPLAIN on the exact same queries as before, I noticed that the queries were going to take significantly longer to run, depsite the fact that they were still going to use the correct indexes.

I have reviewed the documentation and cannot find anything of this nature. I was totally surprised because I expected MYISAM to speed up the queries.

MyISAM Vs. InnoDB
I've been having some problems with the .myi files, (the index files), of my MyISAM tables dissapearing. It can be fixed by restarting the server but I cannot figure out what is causing the problem.

So, in looking for a solution I started reading about different table types and realized that I will not be able to use MyISAM tables for some transactional stuff that I am about to build.

This led me to wonder - should I just change all my tables to InnoDB - I'll be able to do transactions and maybe I won't have problems with .myi files dissapearing!

So, here's my dilemma - the MySQL manual is contradictory about why I should not use InnoDB tables - in one place it says it's slow because it's transactional, but in another it says it is the fastest disk-based engine in existence.

Finally the real question: Is there any reason I should not switch to all InnoDB tables? Are they really super fast yet support both transactions and foreign key constraints?

Innodb Vs MyISAM?
Besides transaction capability, is there anything else about innodb
tables that makes it superior to myISAM?

I really don’t need transactions, but for example, I need superior
reliability for index (too many index corruptions in the past). Is
innodb better in that area, or any other areas?

InnoDB Vs MyISAM
Is there a matrix or chart that identifies the differences between InnoDB and MyISAM as well as highlighting any advantages and disadvantages?

Using MyISAM And InnoDB
How I can know that my database uses MyISAM or InnoDB storage engine? What command can be issued to check this?

INNODB Or MyISAM
what table type
to choose: MyISAM or INNODB?

I need a referential integrity to be
checked, so – I know – INNODB
is the only choice, at least now.
But what are the costs? Why –
in general, not only when talking
about RI – INNODB is better than
MyISAM?

MyISAM Or Innodb
I am using a VPS with 128mb Guaranteed ram(i know its too little, but thats all my pocket can affoard.) I have plenty of disk space availalbe. Not using any public or paid forums, softwares etc.(coz they suck all available resources). I have my own coded forums and i don't allow to search in text. Recently i created an Ajax chat at auto-refresh of 2 sec. means select will definately be used most often. Any suggestion about storage engine. currently i'm using myisam but planning to move to innodb.

On another database on same VPS account, i ran a test and found out that on some table select is used 10x-15x more thn update(inserts are very very rare in this table). and on some tables its 3x-6x. any suggestion about storage engine will be great.

INNODB -->MyISAM
CREATE TABLE assembly_process (
ASBPR_CODE int(5) NOT NULL auto_increment,
ASBPR_PD varchar(5) default NULL,
ASBPR_ORG_PD varchar(5) NOT NULL default '',
ASBPR_ORG_QTTY int(5) NOT NULL default '0',
PRIMARY KEY (ASBPR_CODE)
) TYPE=INNODB;

I am using phpmyadmin. i would like to create a table with type INNODB but it automatically become MyISAM type although i specified the table type=INNODB.

MyISAM And InnoDB
I was reading that the main difference between both is that InnoDB supporta transactions ?? What is that ?
Can anybody explains me this feature ?
For the moment I have been using MyISAM, but in the future, if it's neccesary, Can I change to InnoDB easily ?
Will the queries to access to data need to change ?

MyISAM Or InnoDB
I've read articles and postings about MyISAM vs InnoDB but I am still a
bit unsure about which storage engine to use for my new project.

I am developing a website in PHP/MySQL, which includes features such as
member login, insert/update/delete operations for members to maintain
their records, report generation based on database entries, shopping
cart but payments will be made through Paypal gateway and the search
facility.

This is a medium level website. What storage engine is best suited for
this site and why? I prefer InnoDB because of foreign key support. I'd
also like to know why MyISAM is not made to support foreign keys? If
you guys recommend MyISAM for me, how should I implement foreign key
support? Do I have to explicitely make provisions for foreign key
support in MyISAM using PHP?

MyISAM Or InnoDB
I am developing an enterprize application. There are a lot of tables with a lot of records in them. The application is supposed to be used by a lot of people(that's why I need it to work fast). I know that MyISAM is faster than InnoDB but on the other hand I have to consider the row level locking that InnoDB offers. On the other hand the size InnoDB is twice bigger than MyISAM. I do not know which one to choose.
I would really appreciate any comments and reccommendations about my problem becuase I realy can not make up my mind.

InnoDb Or MyISAM
I am relatively new to mySQL but have a lot of Oracle administration experience.  My question is...how do I tell if a table was created using the InnoDB or MyISAM storage engine?  By the way, I am running MySQL 4.1.  Is there a data dictionary I can query to see the various attributes of each table?

MyISAM VS Innodb
I'm needing to use an engine that supports both FULLTEXT searches, as well as foreign keys. MyISAM supports fulltext, but not the keys, innodb is the reverse.

MyISAM Or InnoDB
For my website I need to create a table of thousands of rows that will determine between a selected pair of users which user is the first to submit a request. Basically, if user A and B are grouped together and A submits the request first, then when B tries to submit the request it will show that A has already done so.
To do this is MyISAM is obvious: lock the table 1st before A reads, if A is the 1st one then updates row and unlock table (do the same for B). However, since the table could be large (thousands of rows) and I'm only concerntrating on few users at a time(most cases two), I don't know if locking the whole table is overkill and can have bad performance.
I was looking at InnoDB's row locking ability but I'm not sure this will provide what I need, is there any example to show how do I use the row locking function to achieve what I'm trying to do?

MyISAM Or InnoDB
I have a web application which is currently supported by MySQL MyISAM tables.
I am concerned about transactions though - Can I expect problems when 2 or more users try to concurrently INSERT into the same table.
It is becoming more likely that this situtation may arise so should I expect it to be a problem and if so what is the best way to upgrade to innoDB tables? Can I simply hot copy the files from my current data folder? or should I do a mysqldump?

MyISAM To InnoDB
I need to switch my tables from MyISAM engine type to InnoDB engine type? Is there a way to do it?

MyISAM To InnoDB
I seem to have come at a bad time right now. I had been informed tthat I need to change the Database Engine from MyISAM to InnoDB. Problem is database currently in production use.
I noticed that I can uncommented out the lines for innodb in /etc/my.cnf and restart it. That look too easy and I don't think that is it. I don't think that would work with the MyISAM database and I think it would have to be convert to InnoDB or something.
Food for your thought. Or if anyone know, then feel free to explain all about it. I need to know if I'm doing it properly before I attempt to do it.

How To Convert From INNODB To MYISAM
I am using Mysql 5. And its default settings are INNODB for database creation. I want one database should be created on MYISAM. How is it possible that default settings shouldn't be disturbed and new database should be created using MYISAM. Kindly tell me , keeping in consideration about "phpmyadmin" and "mysql administrator" .

Inserts - MyISAM Vs InnoDB
I am making a logging script which will log every request to the site. The frequency of inserts will be approximately 60K per hour. After every 1 hour a cronjob will generate a report of the data, save it to in a different table and truncate this logging table. So this table will have only 1 hour data.

I am logging IP, user-agent and page visited. I have created

Today I have used both table types one by one to experiment. I used INSERT DELAYED with MyISAM and INSERT with InnoDB. But when I viewed the processlist, there were a lot of threads in sleep state (in both cases). Why it was so?

Question: Which table type is best suitable for this need?

I am using Linux, PHP 4.4 and MySQL 4.1.

Db Types (innoDB, MyISAM....)
so does anyone have any good resources that would explain the differences between the types of mysql databases, and moreover what the benefits are of each one.

I am looking for womthing that is a bit easier to read an understand than the MySql documentation.

Innodb Reverting To Myisam?
I've been trying to create innodb tables to support foreign key constrains. But when I test them, they're not working(Ii insert a non-existant parent value into the child FK and it's accepted). And when I 'show create table' they come up as 'myisam'.

I even tried using the simple examples in the mysql.com documentation ( documentation ):

CREATE TABLE parent(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT, INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE SET NULL
) TYPE=INNODB;

and 'show create table' gives me:

| child | CREATE TABLE `child` (
`id` int(11) default NULL,
`parent_id` int(11) default NULL,
KEY `par_ind` (`parent_id`)
) TYPE=MyISAM |

and

| parent | CREATE TABLE `parent` (
`id` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM |

Heap Vs InnoDB Vs MyIsam
I'm trying to improve performance of our website, the boss is complaining that its too slow (though it is faster than a lot of sites). We experience particular slow down during updates - which are done periodically throughout the day. We have nearly 2 million records that are being searched and theres a lot of information there to pull back.

Currently all the tables are myIsam, and the total size is around 1.5Gb but the tables being searched probably total 600Mb. We're currently using all 2GB memory at high loads.
I tried converting the main search table to InnoDB but that just made everything horrendously slow - I also heard that it limits to 200 inserts per second whereas with myIsam we're getting around 1k - 1.5k per second.

Could the slow down be due to not converting the linked tables to innoDB? Or just lack of caching?

I now HEAP is supposed to be super fast for selects, how is it for inserts? Do you think 600Mb database would be ok to be loaded into 2Gb memory and still cope with high traffic loads (relatively high - approx 500 simultaneous users)

Or should I stick with MyIsam?

Replication Between InnoDB And MyISAM
I have a database table that warehouses text documents. It is frequently being inserted into, but is also frequently being searched (I use a FULLTEXT index). However, searches are sometimes extremely slow due to the table locking on INSERTs.

I have heard that people sometimes use an InnoDB table as a "buffer" table--they insert into the InnoDB table (which supports row locking) and then replicate that data INTO the MyISAM tamble (which supports FULLTEXT) in such a way that table locking is avoided/minimized/optimized, so the SELECTs still come back quickly.

So basically my question is: how do I set up a routine to replicate data from an InnoDB table into a MyISAM table in such a way that I minimize the table-locking that slows down the SELECTs and full text queries on the MyISAM table?

Changing InnoDB Into MyISAM?
Just wondering if there is a command or way of changing my current InnoDB engine into MyISAM?

MyISAM Versus Innodb
Now, each blog is stored in a separate row, in a table called blog_table.

This single table would be the most active one and would grow to large size in the coming years.

What is the most advisable engine for this table - Innodb or MyISAM ?

Also, I do need FULLTEXT search, and since Innodb doesn't support FULLTEXT indexes, are there 3rd party tools that could do the indexing.

Difference Between InnoDB And MyISAM
I designate InnoDB as the engine type in this statement it fails every time:

CREATE TABLE Countries ( ID int auto_increment NOT NULL, Name VARCHAR (50) NULL, SystemYN VARCHAR (3) NULL, LastUpdated DATETIME NULL, ISOA2 VARCHAR (2) NULL, ISOA3 VARCHAR (3) NULL, ISONum VARCHAR (3) NULL, Notes VARCHAR (255) NULL, PRIMARY KEY (ID), KEY Countries_ID (ID) ) ENGINE InnoDB DEFAULT CHARSET latin1

But if I designate MyISAM it works every time.

CREATE TABLE Countries ( ID int auto_increment NOT NULL, Name VARCHAR (50) NULL, SystemYN VARCHAR (3) NULL, LastUpdated DATETIME NULL, ISOA2 VARCHAR (2) NULL, ISOA3 VARCHAR (3) NULL, ISONum VARCHAR (3) NULL, Notes VARCHAR (255) NULL, PRIMARY KEY (ID), KEY Countries_ID (ID) ) ENGINE MyISAM DEFAULT CHARSET latin1

What am I missing about this?

InnoDB Versus MyISAM
I have a MySQL server (version 4.1.9-nt via TCP/IP) with a few databases. One of my databases is quite small. It only has three tables of less than 500 rows, and it is less than half of a kilobyte when backed up. All the tables in this database are InnoDB because that was the default in the MySQL Administrator.

Ninety percent of the data lies within one column inside one table. It is this column that I want users to be able to search and return results somewhat similar to the way a popular search engine would. My research has brought me to the idea of using FullTextSearch which apparently only works in a MyISAM database (correct me if I'm wrong). So I've thought about changing this one table in my database to MyISAM but I have no idea what that change means to me in terms of support, maintenance, or headaches. So my first question is, what are the differences between InnoDB and MyISAM? Are they hugely different or are there only minor subtleties.

Secondly, this brings up the question of backups and restores. Right now I have an InnoDB backup that is scheduled nightly. So my second question is how do I backup/restore a database that contains InnoDB and MyISAM tables? Or should I change all my tables to MyISAM? I really like how the InnoDB backup is a simple unencrypted flat-file. This keeps me sleeping soundly at night. Will the other backup methods be as simple?

InnoDB To MyISAM Trigger
I need to make MyISAM copies of 2 InnoDB tables in realtime. I believe triggers is the way forward for this. I have checked the web and although It seems like a common problem, I have not found a solution.The reason for this is we want to use MyISAMs fulltext search feature on these 2 tables but keep the stability of InnoDB.

What Type Of Engine Should I Use MyISAM OR InnoDB

What type of engine should I use MyISAM OR InnoDB?

And wot r the advantages and disadvantages of both.

MyIsam Or InnoDB For Online Store?
I'm working on a CMS incorporating both a forum and an online store, along with some smaller modules, and it stores most of its configuration info in the database too.
This whole CMS must run in one database (MySQL 5, and php 5 are installed).
Now i am torn between using MyIsam (for speed and ease of use) or InnoDB (for transactions). As this stuff (DB design) is all kind of new for me I'd like some opinions on this.
Is it also possible to write code that simulates transactions fo InnoDB, or is this too hard?
And is it advisable to use a database abstraction layer like AdoDB-Lite or something similar?
And finally a real noob question. If a table in a DB is locked by a running query, and another write query gets run on the locked table(s), will the new query wait untill the tables get unlocked again or will it fail?

Table Type: MyISAM & InnoDB
I just ALTER my table type to InnoDB, my table is having ~ 200.000 records.

And time to execute one small query is longer than MyISAM?

What Type Is Each Table? (MyISAM Or InnoDB)
I'm have about 200 MySQL databases on my server. Each database has 114 tables. All of the tables SHOULD be InnoDB, but I've found a few that are MyISAM. I'm trying to write a perl script to give me a list of all the MyISAM tables. Is there any sort of select statement that will give me the table type? (MyISAM or InnoDB) The only way I can figure this out is doing a 'SHOW CREATE TABLE' on each table and then looking at the table type from there. It would be 1000 times easier if I knew a select statement that would give me just the table type.

InnoDB Vs MYISAM For Mysqli Functions
I just learned about the mysqli functions in PHP that make managing and rolling back multiple queries a breeze. Unfortunatly it requires my tables be setup as InnoDB tables. So I have two questions:

Can rollbacks be done using MYISAM?

What problems might I run into if I change all of my tables to InnoDB? (Meaning will my queries meant for MYISAM not work anymore etc.

Advantages/disadvantages InnoDB Over MyISAM?
Some one suggested me to alter my tables to InnoDB instead of myISAM
type to improve speed for select queries. Is this really true. I read
some article that stated that myISAM was optimized for select queries
over update/insert because of most of the queries for web based
applications are select queries.

Can anyone tell me what the advantages or disadvantegs are of InnoDB
over myISAM?

Is there anythging I should keep in mind when I alter my tables apart
from thorough and good backup before I start?

How much time does it take to alter a database of lets say about 200MB
of mission critical data?

I've read the MySQL manual, considering table structures and upgrading
already and am particularly interested in user experiences.

Mixing InnoDB And MyISAM For Queries?
Are there any issues with using a single query that joins tables from different storage engines?

For example, I need to join a table from a MyISAM database (requires a full text index) and a table from an InnoDB (requires foreign key constraints.)

Are there any performance issues - I will be scanning thousands of rows and using a complex query? I can forego the foreign key constraints and use only MyISAM databases if performance will be sacrificed?

Differance Between InnoDB And MyISAM Tables ?
can anybody tell me the differance between the innidb and myisam tables
types .

Mixed MYISAM-INNODB Tables
Our main db was built and designed with standard MYISAM tables. So far, so good. Somewhere along the line, one of our past developers snuck some INNODB tables into the db. When I attempted to bring up a test server for a new developer using a dumped copy of the db, MySQL chokes on the first idb table when attempting to import it. What am I missing?


Copyright © 2005-08 www.BigResource.com, All rights reserved