Actuellement je la configuration de l'index du texte intégral suivant:Création du texte intégral Recherche optimisée
texte intégral sur:
Numéro - Nom - Suffixe - Direction - Ville - Etat - ZIPCode
Select id, MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode)
AGAINST ("Test") as Relevance from test where 1,
and MATCH(Number, Name, Suffix, Direction, City, State, ZIPCode)
AGAINST ("+Test" IN Boolean Mode) HAVING Relevance > 0.2
pour une adresse . Il est actuellement dans un type de DB MyISAM pour MySQL, mais je n'aime vraiment pas comment lorsque des requêtes coûteuses frappent, ils verrouillent toute la table, et plus d'un million de lignes, j'essaie d'optimiser le mieux possible.
Le passage à Innodb vous aiderait-il? Innodb prend-il en charge le type de requête que j'ai pour MyISAM? D'autres suggestions sur la façon d'optimiser cette requête et de poursuivre avec la recherche de texte intégral?
Merci!
Je vais examiner cela. Y a-t-il d'autres différences notables? – Petrogad
J'ai travaillé avec les recherches de texte intégral pendant un moment en essayant d'optimiser une grande application. La performance était moyenne. Nous avons fini par passer à innodb et utiliser des index supplémentaires. La performance était à peu près la même, bien que la recherche de cartes génériques complètes (par exemple, '% some%') soit TRÈS lente. Finalement, je suis passé à Sphinx et je ne regarderai jamais en arrière. Sphinx s'intègre bien avec MySQL, mais fonctionne comme un processus séparé. – jonstjohn
Awesome va lui donner un tourbillon! Merci: D – Petrogad