MySQL中的全文检索

转载 2016年05月30日 23:46:12

说起数据库,MYSQL最适合用于小型运用的开发。最近想弄一个简单的音乐网站玩一下,数据库是以前在网上爬去的。数据不是特别多,但是也不少,查了一下一共有六十多万条歌曲的记录。既然是做音乐网站的话,首先要有一个搜索的功能,至少要能够搜索你有的歌曲吧。由于以前没有怎么认真弄过sql查询的问题,所以还是用最简单的方法去查询,但是这次遇到了单表上百万记录。我用select * from song where songname like '%key%';去查询,结果效率低到难以忍受。竟然用了三十多秒才出结果!这对于任何运用都是没办法忍受的。后来就想着去做sql查询的优化,google了很久,试过了建立索引,改变表的结构等等都无济于事啊。后来看到一篇专业文章写道,其实对应大数据量查询的时候,很多数据库是支持全文检索的。知道以后我立马开始弄全文检索:

首先我的表默认是:innoDB,这种表的类型不支持全文检索,所以要先改变其类型为MyISAM。

 alter table song engine=MyISAM;

然后要在对应的要进行查找的字段上面建立全文检索的索引:

alter table add fulltext index(songname);

如果要同时对多个字段进行检索可以这样:

alter table add fulltext index(songname,singername);

这样做好以后呢,就可以对表进行全文检索了,速度提升是飞一般的感觉啊!现在的结果是秒出啊。可以这样去检索字段:

select * from song where match(singername) against('周杰伦') ;

或者多字段:

select * from song where match(singername,songname) against('风雨');

 

举报

相关文章推荐

MySQL中文全文检索

MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。

MySQL全文检索中文搜索

全文检索概述:         全文搜索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

mysql全文检索

全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE I...

mysql全文检索

http://androider.javaeye.com/blog/643486   mysql到版本3.23.23时,开始支持全文检索,通过语句SELECT ... FROM ... MATCH...

MySQL 全文检索

MySQL 全文检索支持MySQL 全文检索支持 MyISAM 40以上 InnoDB564以上 全文检索语法 检索方式 简单示例 MySQL全文索引相关配置 注意事项 MyISAM (4.0以上)从...

mysql全文检索

mysql到版本3.23.23时,开始支持全文检索,通过语句SELECT ... FROM ... MATCH(...) AGAINST(...) 来在整个表中检索是否有匹配的,全文索引是一个定义为f...

MySQL中的全文检索(2)

一、全文索引的构建     构建全文索引时把要索引的列连起来(所以不能对其中的某一列进行全文检索)作为一个长的字符串进行索引。构建好的全文索引是一种拥有两层结构的特殊B树索引。第一层是各个关键字(k...

让MySQL支持中文全文检索

因为中文词间并没有明显的区隔,所以中文的分词是按照字典、词库的匹配和词的频度统计,或是基于句法、语法分析的分词,而MySQL并不具备此功能,所以MySQL对中文全文检索的支持几乎为零。 目前很多...

Mysql 全文索引

通过使用phpcms,让我明白了使用索引是数据库性能优化的必备技能之一。 在MySQL数据库中,有四种索引: 聚集索引(主键索引) 普通索引 唯一索引 ...

Mysql 全文检索Demosql

Mysql 全文检索一、概述MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。二、语法MATCH (col1,col2,...) AGAINST (...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)