Shoda nefunguje s počátečními zástupnými znaky, takže shoda s *abc*
nebude fungovat. Budete muset použít LIKE
jak toho dosáhnout:
SELECT * FROM user WHERE user_login LIKE '%abc';
To však bude velmi pomalé.
Pokud opravdu potřebujete najít shodu na konci řetězce a musíte to dělat často, zatímco vás výkon zabíjí, řešením by bylo vytvořit samostatný sloupec, ve kterém byste obrátili řetězce, takže máte:
user_login user_login_rev
xyzabc cbazyx
Potom místo hledání '%abc'
, můžete hledat 'cba%'
což je mnohem rychlejší, pokud je sloupec indexován. A můžete znovu použít MATCH, pokud chcete hledat 'cba*'
. Budete muset také obrátit vyhledávací řetězec.