SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`address` LIKE '%北京%') ORDER BY `Id` ASC LIMIT 0, 10
SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`industry` LIKE '%教育%') ORDER BY `Id` ASC LIMIT 0, 10
SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`company` LIKE '%新东方%') ORDER BY `Id` ASC LIMIT 0, 10
SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`company` LIKE '%新东方%') AND (`industry` LIKE '%教育%') ORDER BY `Id` ASC LIMIT 0, 10
SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`address` LIKE '%北京%') AND (`industry` LIKE '%教育%') ORDER BY `Id` ASC LIMIT 0, 10
SELECT `Id`, `company`, `address`, `industry` FROM `TableQ` WHERE (`address` LIKE '%北京%') AND (`address` LIKE '%朝阳区%') ORDER BY `Id` ASC LIMIT 0, 10
MYSQL数据库,经常需要对company
, address
, industry
三个字段进行单列搜索,或对company
, industry
,或对address
, industry
两个字段进行组合搜索,搜索语句同上。
因为都是带LIKE的搜索,所以,以上5种情况,是不是需要建立5个索引呢?
创建5种索引的语句咋写才可以保证每种搜索的速度最快呢?
补充:company
, address
, industry
三个字段里面的数据都是北京
朝阳区
金兴路
这样的数据,数据之间会有空格,但是搜索关键词都是北京
或上海
或金兴路
或在同一字段内的多关键词组合,比如WHERE (address
LIKE '%北京%') AND (address
LIKE '%朝阳区%')