Qui de requête SQL est le meilleur, le MATCH CONTRE ou COMME?

À la recherche de la base de données pour les lignes qui ont les deux mots clés "foo" ET "bar" dans les colonnes "foo_desc" et "bar_desc", je voudrais faire quelque chose comme:

SELECT * 
FROM t1 
WHERE MATCH (t1.foo_desc, t2.bar_desc) AGAINST ('+foo* +bar*' IN BOOLEAN MODE)

ou

SELECT * 
FROM t1 
WHERE (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%foo%') AND (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%bar%')

J'attends la baisse de la dernière requête est la performance.

L'avantage est que la requête ne trouve 'xxfoo" où le MATCH CONTRE le ne pas.

Qui est privilégiée ou est-il une meilleure solution?

InformationsquelleAutor Wil | 2009-04-27