【数据分析师_02_SQL+MySQL】022_MySQL的全文检索(MyISAM,MATCH AGAINST)


转载请注明出处 😃!
手动反爬:MySQL的全文检索(MyISAM,MATCH AGAINST)
https://blog.csdn.net/Lyun911/article/details/111460906

注:以下使用 MySQL 演示


1 简介

虽然之前学过的搜索机制非常有用,但存在几个重要的限制(通配符正则表达式WHERELIKE):

  • 性能——通配符和正则表达式匹配通常要求MySQL尝试匹配表中所有行(而且这些搜索极少使用表索引)。因此,由于被搜索行数不断增加,这些搜索可能非常耗时。(大量大概可以定义为10G以上)
  • 明确控制——使用通配符和正则表达式匹配,很难(而且并不总是能)明确地控制匹配什么不匹配什么。例如,指定一个词必须匹配,一个词必须不匹配,而一个词仅在第一个词确实匹配的情况下才可以匹配或者才可以不匹配。

所有这些限制以及更多的限制都可以用全文本搜索来解决。在使用全文本搜索时,MySQL不需要分别查看每个行,不需要分别分析和处理每个词。
全文搜过通过MySQL创建指定列中各词的一个索引,搜索可以针对这些词进行。这样,MySQL可以快速有效地决定哪些词匹配,哪些词不匹配,它们匹配的频率,等等。(WHERE和RE做不到)

存储机制 全文索引 类型 适用于
Innodb 不支持 事务性 业务表(比如用于模糊查询)
MyISAM 支持 数据型 数据表
productnote 支持 数据型 数据表

2 案例

2.1 启用全文索引

注意:不要将业务类的主要表开启MyISAM!

2.1.1 查看并启用表的存储机制类型(Navicat):

在这里插入图片描述

2.1.2 查看并启用表的存储机制类型(CMD):

CREATE TABLE productnotes
(
  note_id		int			NOT NULL		AUTO_INCREMENT,
  prod_id		char(10)	NOT NULL,
  note_date		datetime	NOT NULL,
  note_text		text		NU
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值