最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

教你怎样在MySQL中提高全文搜索效率_MySQL

来源:动视网 责编:小采 时间:2020-11-09 17:47:47
文档

教你怎样在MySQL中提高全文搜索效率_MySQL

教你怎样在MySQL中提高全文搜索效率_MySQL:很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理
推荐度:
导读教你怎样在MySQL中提高全文搜索效率_MySQL:很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理


  很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时候。

  MySQL针对这一问题提供了一种基于内建的全文查找方式的解决方案。在此,开发者只需要简单地标记出需要全文查找的字段,然后使用特殊的MySQL方法在那些字段运行搜索,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索,因为MySQL使用自然语言来智能地对结果评级,以去掉不相关的项目。

  1、设置基本表格

  从创建例子表格开始,使用以下的SQL命令:

mysql> CREATE TABLE reviews (id INT(5)
PRIMARY KEY NOT NULL AUTO_INCREMENT, data TEXT);
  以上命令创建了一个简单的音乐专集资料库(主要是整段的文字),然后向这个表格中添加一些记录:

mysql> INSERT INTO `reviews` (`id`, `data`) VALUES
(1, 'Gingerboy has a new single out called Throwing Rocks. It's great!');
mysql> INSERT INTO `reviews` (`id`, `data`) VALUES
(2, 'Hello all, I really like the new Madonna single.
One of the hottest tracks currently
playing...I've been listening to it all day');
mysql> INSERT INTO `reviews` (`id`, `data`)
VALUES (3, 'Have you heard the new band Hotter Than Hell?
They have five members and they
burn their instruments when they play in concerts.
These guys totally rock! Like, awesome, dude!');

  验证数据的正确录入:

  mysql> SELECT * FROM reviews;
  +----+--------------------------------------------+
  | id | data                    |
  +----+--------------------------------------------+
  | 1 | Gingerboy has a new single out called ... |
  | 2 | Hello all, I really like the new Madon ... |
  | 3 | Have you heard the new band Hotter Than... |
  +----+--------------------------------------------+
  3 rows in set (0.00 sec)
  2、定义全文搜索字段

  接下来,定义您要作为全文搜索索引的字段:

  mysql> ALTER TABLE reviews ADD FULLTEXT INDEX (data);
  Query OK, 3 rows affected (0.21 sec)
  Records: 3 Duplicates: 0 Warnings: 0
  使用SHOW INDEXES命令来检查索引已经被添加了:

  mysql> SHOW INDEXES FROM reviews;
  +---------+---------------+--------+------+------------+---------+
  | Table  | Column_name  | Packed | Null | Index_type | Comment |
  ----------+---------------+--------+------+------------+---------+
  | reviews | id      | NULL  |   | BTREE   |     |
  | reviews | data     | NULL  | YES | FULLTEXT  |     |
  +---------+---------------+--------+------+------------+---------+
  2 rows in set (0.01 sec)
  | 2 |

  +----+

  2 rows in set (0.00 sec)

文档

教你怎样在MySQL中提高全文搜索效率_MySQL

教你怎样在MySQL中提高全文搜索效率_MySQL:很多互联网应用程序都提供了全文搜索功能,用户可以使用一个词或者词语片断作为查询项目来定位匹配的记录。在后台,这些程序使用在一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理
推荐度:
标签: 查询 用户 效率
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top