469,928 Members | 1,766 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,928 developers. It's quick & easy.

MyISAM versus Innodb - help me!!

We have developed a site where users can post blogs.

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

? (Maybe mnoGoSearch ?)
Mike

Jul 23 '05 #1
3 2585
"siliconmike" <si*********@yahoo.com> wrote in
news:11**********************@g14g2000cwa.googlegr oups.com:
We have developed a site where users can post blogs.

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.
interesting.

you don't think there should be one table called "blog_table" with the
name of each blog ("Jenny's Cool BlogWorld") and then a seperate table
called "blog_entries" that has the actual blog entry and a reference to
which blog it should appear in (an ID from "blog_table")? I *guarantee*
this is the proper way to do this, rather than keeping everything in one
single table. For example, what if Jenny wanted to change the title of
her Blog to "Jenny's Terrible BlogWorld"? Or if Jenny wanted to change
her email address/age/sex/anything? Or if she wanted to delete a single
blog entry?
So, we're looking at three tables at minimum:

"blog_owners":

OwnerID | OwnerName | OwnerEmail
1 Sammy P. sa***@me.net
2 Jenny S. je***@example.com
4 Marvin H. ma****@home.net
"blog_table":

BlogID | BlogOwner | BlogTitle
1 2 "Jenny's Cool BlogWorld"
2 4 "Marvin's Blog o Plenty"
"blog_entries":

EntryID | BlogID | BlogEntry
1 2 "My name is Marvin. I am 11 years old."
2 1 "If my name wasn't Jenny, things would be easy"
3 1 "Today mom said, 'Jenny you are great!'"
Therefore, the table seeing the most action/size increase would be
"blog_entries".
What is the most advisable engine for this table - Innodb or MyISAM?
i can't see why you'd even consider InnoDB for this project. what makes
you think you need transactions for this project?

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


well you've answered your own question here, dont you think. forget
third-party tools. again, there is no reason from what you've given as
to why InnoDB should even be considered.
Instead of leaping in with "what engine should I choose", you should make
sure your database schema is as good as it can be. I would say that the
amount of customizable web projects that run smoothly off of a single
table in a database would be close to zero.
Jul 23 '05 #2


Good Man wrote:
"siliconmike" <si*********@yahoo.com> wrote in
news:11**********************@g14g2000cwa.googlegr oups.com:
We have developed a site where users can post blogs.

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.
interesting.

you don't think there should be one table called "blog_table" with the
name of each blog ("Jenny's Cool BlogWorld") and then a seperate table
called "blog_entries" that has the actual blog entry and a reference to
which blog it should appear in (an ID from "blog_table")? I *guarantee*
this is the proper way to do this, rather than keeping everything in one
single table. For example, what if Jenny wanted to change the title of
her Blog to "Jenny's Terrible BlogWorld"? Or if Jenny wanted to change
her email address/age/sex/anything? Or if she wanted to delete a single
blog entry?
So, we're looking at three tables at minimum:

"blog_owners":

OwnerID | OwnerName | OwnerEmail
1 Sammy P. sa***@me.net
2 Jenny S. je***@example.com
4 Marvin H. ma****@home.net
"blog_table":

BlogID | BlogOwner | BlogTitle
1 2 "Jenny's Cool BlogWorld"
2 4 "Marvin's Blog o Plenty"
"blog_entries":

EntryID | BlogID | BlogEntry
1 2 "My name is Marvin. I am 11 years old."
2 1 "If my name wasn't Jenny, things would be easy"
3 1 "Today mom said, 'Jenny you are great!'"
Therefore, the table seeing the most action/size increase would be
"blog_entries".

Oh well, your 'blog_entries' is my 'blog_table', but your mail confirms
that what I'm doing is right.

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


i can't see why you'd even consider InnoDB for this project. what makes
you think you need transactions for this project?

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


well you've answered your own question here, dont you think. forget
third-party tools. again, there is no reason from what you've given as
to why InnoDB should even be considered.

Well I was also considering factors like
increased speed due to row level locking in Innodb
and other factors (unknown to me) where my choice of Innodb would be
justified even though I am not using transactions..

Jul 23 '05 #3
"siliconmike" <si*********@yahoo.com> wrote in
news:11*********************@g49g2000cwa.googlegro ups.com:
Well I was also considering factors like
increased speed due to row level locking in Innodb
and other factors (unknown to me) where my choice of Innodb would be
justified even though I am not using transactions..


you won't notice it - go MyISAM all the way for this project.
Jul 23 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by jackson marshmallow | last post: by
reply views Thread by Marek Kotowski | last post: by
reply views Thread by Stefan van Roosmalen | last post: by
3 posts views Thread by Reuben Pearse | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.