2013-06-21 15 views
0

如果通配符在开始和结束时MySql都不使用LIKE上的索引。MySql LIKE'%keyword%'在开始和结束时使用通配符 - 解决使用索引

是否有此查询周围的工作,因此将使用索引:

SELECT * FROM Company WHERE Name LIKE '%ad%' 
+0

可能重复http://stackoverflow.com/questions/2081998/optimization-of-mysql-搜索使用像和通配符) –

+0

可能的重复[Mysql通配符(%%)]提高搜索性能](http://stackoverflow.com/questions/5905125/mysql-improve-search-performance-with-wildcards ) –

+0

阅读我的演示文稿[全文搜索Throwdown](http://www.slideshare.net/billkarwin/practical-full-text-search-with-my-sql)。 –

回答

0

简单,不要在LIKE表达开始使用索引。

相应地调整您的数据 - 如果必须使用额外的列。

+0

谢谢!但我需要在开始和结束时都拥有它。我也有大量的数据。那么我认为没有办法加快这个搜索。 – john

+1

正确的,这是不可能的,除非你能找到一种方法来将你的数据分成一个新的列和搜索。 – vikingsteve

相关问题