我有一个MySQL数据库(InnoDB),其中包含一个名为
users
的表,其中有一个username
列。在一个Ruby on Rails网站上,我有一个功能,允许用户通过他们的用户名搜索某个人。在输入时,网站会建议用户搜索谁(带bootstrap的typeahead)。目前,我正在使用MySQL中的查询:SELECT `username` FROM users WHERE `username` LIKE 'the_query%' LIMIT 15;
存在的问题是速度。该表大约有500,000行,像这样的查询似乎需要大约一秒钟的时间,当即时生成猜测时,这太慢了。我该怎么做才能提高性能?100毫秒以下的速度将是合适的。也许有比使用MySQL处理搜索更好的方法?