Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Having both full text searches and foreign key contraints (which are good for joins) is a hassle for MySQL as they are only supported by MyISAM and InnoDB engines respectively.</p> <p>In order to make full text searches you would have to have tables to the MyIsam engine. I dont have that much experience there so i cant help you much.</p> <p>The time sink as you guessed, is that you are using like with a %prefix, forcing the database to look at every damn entry in the table before returning.</p> <p>If you want to use joins, you will have to split up the query string before polling the database, but that should be fairly easy. A good introduction to joins can be found in the W3school tutorials. <a href="http://www.w3schools.com/sql/default.asp" rel="nofollow">http://www.w3schools.com/sql/default.asp</a></p> <p>The main problem i can see you running into is this: Even if you manage to get some decent joins implemented in your database, you will still need to use like on the joined tables (Because you cant do full text searches on InnoDB). Because of this making fancy joins will not speed up your queries much.</p> <p>My advise would be this: Make more search fields. Doing so will make it possible to get something good out of joins. Split the persons name up into First, middle last name to avoid needing to use Like.</p> <p>If you really want to keep the one textfield search, you might need to put down some conventions about how to enter data (So you can split it up behind the scenes and search) like you are doing with a prefix for contributor.</p> <p>Im sorry that i cant be more precise and helpful than this, but what you are presenting is not a quick-fix problem, im afraid.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload