sql full-text search全文检索与like的区别

Life is short , play more!
本文来自lihao's Blog,转载请注明。

全文检索的意思是在全文的数据库中, 找到你想要的文档片段或者你想要的符合你匹配条件集合的内容。

1. myql中使用全文检索,我们首先要添加full-text 索引

ALTER TABLE products
ADD FULLTEXT(productline)

全文检索
SELECT productName, productline
FROM products
WHERE MATCH(productline) AGAINST(‘Classic’)

和like的区别呢?

2. 如果我们使用like表达式

SELECT productName, productline
FROM products
WHERE productline like ‘%Classic%’

1) 全文索引要比使用like的方式,速度快的多。 当我们的数据库记录数据非常小时,我们完全不必使用全文索引。
2) 全文索引的更新通常并不是实时的。
例如我刚新add了一条记录, 这时我立即通过全文检索可能并没有搜索到这条记录。 like会对所有记录进行搜索,并得到答案。


发表评论

电子邮件地址不会被公开。 必填项已用*标注