PHP forums, MySQL forums, Web Development resources

Home PageHome    PHP ResourcesTopic List    FAQFAQ    SearchSearch    MemberlistMemberlist    UsergroupsUsergroups 
 RegisterRegister
    ProfileProfile    Log in to check your private messagesLog in to check your private messages    Download the RSS Reader RSS Feed Download the RSS Reader RSS for this forum Log inLog in 

PHP Forum :: MySQL Forum :: Java Script Forum



Should I use MATCH AGAINST or LIKE function?

 
Post new topic   Reply to topic    WeberForums.com Forum Index -> MySQL General
View previous topic :: View next topic  
Author Message
hsy



Joined: 15 Nov 2006
Posts: 7

PostPosted: Tue Jan 29, 2008 1:26 pm    Post subject: Should I use MATCH AGAINST or LIKE function? Reply with quote

Hi,

I have a table of a few columns of text that need to be searched (and the usual dates and primary of course). Something like below:

Column1 - Varchar(255)
Column2 - Varchar(255)
Column3 - Varchar(255)
Column4 - Varchar(255)

There'll only be 2000 rows.

1. So, do I use normal INDEX or FULLTEXT for the columns?

2. If I use LIKE to query, can I index the columns with FULLTEXT, or must only use normal INDEX?

Thanks a lot.
Back to top
View user's profile Send private message
lostboy



Joined: 02 May 2004
Posts: 6033
Location: toronto, canada

PostPosted: Wed Jan 30, 2008 4:58 am    Post subject: Reply with quote

use the LIKE clause

FULL TEXT is for searching true text fields
Back to top
View user's profile Send private message Send e-mail AIM Address MSN Messenger
hsy



Joined: 15 Nov 2006
Posts: 7

PostPosted: Wed Jan 30, 2008 5:08 am    Post subject: Reply with quote

Ok, I'll use LIKE.

So for the index of the fields... I use the normal INDEX instead of FULLTEXT right? What if LIKE clause is used to query fields with FULLTEXT index, the index won't be effective?

Thanks.
Back to top
View user's profile Send private message
lostboy



Joined: 02 May 2004
Posts: 6033
Location: toronto, canada

PostPosted: Wed Jan 30, 2008 5:24 am    Post subject: Reply with quote

check the manual for the index sizes, but i believe that the index is limited to 255 characters which in a large field don't make sense
Back to top
View user's profile Send private message Send e-mail AIM Address MSN Messenger
hsy



Joined: 15 Nov 2006
Posts: 7

PostPosted: Wed Jan 30, 2008 11:57 am    Post subject: Reply with quote

So from what I understand here, FULLTEXT index on the fields is not suitable right.

I use LIKE to query the four fields and then return the whole rows with matches. Similar to this:

WHERE field1 LIKE '%example%' OR field2 LIKE '%example%' OR field3 LIKE '%example%' OR field4 LIKE '%example%

all fields are varchar(255) and only 2000 rows

So the best way to index the fields is using normal single column INDEX for each of the fields? or one multiple column INDEX (four fields)?
Back to top
View user's profile Send private message
lostboy



Joined: 02 May 2004
Posts: 6033
Location: toronto, canada

PostPosted: Wed Jan 30, 2008 7:00 pm    Post subject: Reply with quote

You can create multiple indexes, mysql will pick just one to use, but the optimizer usually picks the most appropriate index to use for that query
Back to top
View user's profile Send private message Send e-mail AIM Address MSN Messenger
Display posts from previous:   
WeberTrivia Questions WeberTrivia Questions
 Think you are smart? Prove it!. Try your skills with these questions :
 WeberTrivia QuestionsRecursive arrays and multi-dimensional arrays are one and the same. (PHP and MySQL)
 WeberTrivia QuestionsThe \"cache_dir\" tag of the squid configuration has a default of /var/spool/squid. (Linux)

WeberTrivia Questions



PHP Code Examples
 Stream diffrent sizes of images from a single image to save disk space.
 JavaScript dropdown list menu to switch any page.
 Dump the contents of a PHP variable in html format with a recursive list of subfolders and files from a given root directory.
 PHP Dump in html format the contents of one array variable with a recursive list of the nested array variables inside.
 Link Extractor - This function is used to extract links from a given URL. This will convert relative path into absolute path and also remove PHPSESSID stuff.
 Building a Dynamic Form using Javascript and innerHTML. Add form elements in realtime without refreshing the page.
 A PHP Calendar function with CSS : add a cool calendar to any php page by just adding a calendar class based function.
Post new topic   Reply to topic    WeberForums.com Forum Index -> MySQL General All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
PHP Forum :: MySQL Forum :: Java Script Forum