If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > MySQL > MyISAM or InnoDB?

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 01-07-07, 05:52
dubcat dubcat is offline
Registered User
 
Join Date: Jan 2007
Posts: 3
MyISAM or InnoDB?

Hi - I want to write a web based app with a database backend for my wife who works in the recruitment industry. I was wondering whether I should use InnoDB or MyISAM for my tables.

MyISAM seems to have the ability to do a full text search while innodb does not. Innodb has the ability to maintain referential integrity while MyISAM does not.

Which of these is more important? I was thinking that i could maintain referential integrity in myisam by checking that foreign key values being inserted really do exist via my php code. However, there seems to be no workaround for the lack of full text search in InnoDB.

What are you thoughts? Please note that I really am new to databases - this will be my first ever database project. I'll post my database design seperately for feedback
Reply With Quote
  #2 (permalink)  
Old 01-07-07, 07:39
r937 r937 is offline
SQL Consultant
 
Join Date: Apr 2002
Location: Toronto, Canada
Posts: 19,534
Quote:
Originally Posted by dubcat
Which of these is more important?
that's up to you

as you point out, you can do the relational integrity checking with application code

however, it's hard to do fulltext searching with application code

how badly do you need to do fulltext searching? have you considered doing LIKE comparisons only?
__________________
r937.com | rudy.ca
please visit Simply SQL and buy my book
Reply With Quote
  #3 (permalink)  
Old 01-07-07, 11:04
dubcat dubcat is offline
Registered User
 
Join Date: Jan 2007
Posts: 3
well the full text search was going to be carried out on some free form fields where she can write notes for each discussion she has with a client. I was thinking maybe i can make the whole database in innodb and then just make the freeform text stuff in a sepearte table which is myisam..
Reply With Quote
  #4 (permalink)  
Old 01-07-07, 11:34
Pat Phelan Pat Phelan is offline
Resident Curmudgeon
 
Join Date: Feb 2004
Location: In front of the computer
Posts: 12,609
Quote:
Originally Posted by dubcat
I was thinking maybe i can make the whole database in innodb and then just make the freeform text stuff in a sepearte table which is myisam..
In my opinion, that is the ideal approach. You get the integrity offered by InnoDB where you really need it, and you get the "flat file" features offered by MyISAM where you need them... Using the best features of the different storage engines to get the solution that best suits your needs seems to be as good as you can get to me!

-PatP
Reply With Quote
  #5 (permalink)  
Old 01-07-07, 11:53
dubcat dubcat is offline
Registered User
 
Join Date: Jan 2007
Posts: 3
Perfect! Thanks so much for taking the time to reply.

I hope i see you in the thread im going to make asking if my database design is sane I'm just going to spend another day making sure I have checked everything in triplicate before I post it up.
Reply With Quote
  #6 (permalink)  
Old 01-07-07, 18:01
guelphdad guelphdad is offline
Registered User
 
Join Date: Mar 2004
Posts: 440
triplicate eh? I thought you said your wife worked in recruiting not the government. ;-)
Reply With Quote
  #7 (permalink)  
Old 01-10-07, 03:55
Yveau01 Yveau01 is offline
Registered User
 
Join Date: Dec 2005
Location: Tilburg, Netherlands
Posts: 73
When you might consider using MyISAM after all and would like to implement referential integrity, don't do that in the php code of the webpages. Write some triggers that do that for you, otherwise you might end up writing that same php code several times. But I agree that the InnoDB with one MyISAM for fulltext search is the way to go.

Gr,
Yveau
__________________

> SELECT * FROM users WHERE clue > 0;
Empty set (0.00 sec)

Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On