视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
使用Mysql全文搜索Full-Text(fulltext和match...against)_MySQL
2020-11-09 18:10:53 责编:小采
文档


bitsCN.com

作者:aolinks

一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,

但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。

-------------------

上面这句话 我是在网上看到的, 说得挺有道理的,mysql 本身提供了一种叫做全文搜索的技术吧,

不过这好像从后来的版本才有的, 比较旧的版本不支持,不过那是很早期的版本了,

现在大家使用的版本 应该都支持的。我现在使用mysql6.0.4 来演示

全文搜索 比起 索引 我觉得更加全面, 索引只对某一个字段,然后在查询时候使用like 配合。

全文搜索它可以设置多个字段进行搜索,可以说是比起select .... like 高级吧。

好了, 既然 全文搜索 有这样的优点,下面我们来看看 是否真的如此。

下面提供的测试例子,是mysql 手册上面的一个例子

CREATE TABLE articles (

id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,

title VARCHAR(200),

body TEXT,

FULLTEXT (title,body)

);

上面这是创建表的mysql 语句, 其中最后一句 FULLTEXT (title,body)

就是为title 和body 创建一个 全文搜索,也就是 以后 方便搜索 标题 和

标题正文的内容。复制语句上去 就成功创建一张表了。

查看一下 全文搜索 是否被创建, 下面语句作用是:查看表的 主键, 索引, 全文搜索

show indexes from 表名

mysql> show indexes from articles;

+----------+------------+----------+--------------+-------------+

| Table | Non_unique | Key_name | Seq_in_index | Column_name |

+----------+------------+----------+--------------+-------------+

| articles | 0 | PRIMARY | 1 | id |

| articles | 1 | title | 1 | title |

| articles | 1 | title | 2 | body |

+----------+------------+----------+--------------+-------------+

bitsCN.com

下载本文
显示全文
专题