1/ tu peux sans problème mélanger InnoDB et MyISAM dans la même base. Donc mettre toutes tes tables en InnoDB pour profiter des clés étrangères, sauf celle qui contient les texte où rechercher (appelons-là blabla), que tu laisses en MyISAM. Une variante consiste à tout mettre en InnoDB, et d'utiliser des trigers pour que blabla mette à jour dynamiquement une copie en MyISAM.
2/ Le FULL-TEXT en mode booléen te permet de rechercher sur le début d'un mot (mais pas sur la fin). Par exemple :
WHERE MATCH(Ville) AGAINST ('Par*' IN BOOLEAN MODE)
3/ si tu as besoin de faire des recherches sur le début d'un mot, tu peux aussi utiliser une expression régulière :
WHERE Ville REGEXP '[[:<:]][[:alpha:]]+ris[[:>:]]'
Partager