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