对于mysql 5.6.4以上版本innodb支持全文索引的测试

在mysql官网,innodb引擎在5.6.4版本提供了对全文索引的支持,笔者对此做了测试,发现对中文全文检索的支持依然不理想,但却确实提供了对英文的全文支持。

12.9.5 Full-Text Restrictions
Full-text searches are supported for InnoDB and MyISAM tables only. FULLTEXT index support for InnoDB tables requires MySQL 5.6.4 or higher.

测试过程如下:

1、版本选择,选5.6.27  版。

2、安装完成后,添加全文索引进行测试,表引擎为Innodb

(1)修改ft_min_word_len参数值为1(默认是4,2个汉字)调整全文索引检索字段的最小长度为1个字节;

mysql> show variables like '%ft_min_word_len%';+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| ft_min_word_len | 1     |
+-----------------+-------+1 row in set (0.00 sec)

 (2)对表A的content列添加全文索引;

1
alter table ask_questions add fulltext ind_ask_questions_content(content);

查看

1
>show index from ask_questions;
mysql> show index from ask_questions;+---------------+------------+----------------------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table         | Non_unique | Key_name                         | Seq_in_index | Column_name      | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------+------------+----------------------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| ask_questions |          1 | ind_ask_questions_content_cft    |            1 | content          | NULL      |           1 |     NULL | NULL   |      | FULLTEXT   |         |               |
+---------------+------------+----------------------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+9 rows in set (0.00 sec)

模糊匹配查询,看看包含关键字的行数:

1
select count(*) from ask_questions where content like '%xxx%';

一共有182行,其中包括四种情况:'%xxx%','%xxx','xxx%','xxx'。

在全文索引查看的时候只能对 'xxx' 这种情况进行检索,其他的行由于汉字与英文字母的断字不一样而忽略掉了;

1
select from ask_questions where MATCH(content) AGAINST ('好玩吗'order by id limit 10;

但是其中的行,比如不被空格,"?"等隔开的行,是不会被检索出来的:

1
select from ask_question_bak where content like '%好玩吗%' limit 10;

我们可以通过查看id列看出来差别;

3、myisam中的中文全文索引测试;

对于mysql自带的功能,也是一样的,支持并不是很好。

4、myisam安装mysqlcft插件,测试对中文全文索引的支持;

从coder.google下载mysqlcft,下载地址:https://code.google.com/p/mysqlcft/downloads/list

(1) 解压,安装plugin。

查看插件目录:

1
> show variables like '%plugin%';
+---------------+---------------------------------+
| Variable_name | Value                           |
+---------------+---------------------------------+
| plugin_dir    | /usr/local/mysql56//lib/plugin/ |+---------------+---------------------------------+

(2)解压,把mysqlcfg.so文件cp到这个目录下,安装plugin

1
> INSTALL PLUGIN mysqlcft SONAME 'mysqlcft.so';

(3)查看。

1
select from mysql.plugin;
+----------+-------------+
| name     | dl          |
+----------+-------------+
| mysqlcft | mysqlcft.so |
+----------+-------------+

安装mysqlcft插件成功;

测试查看查询数目与模糊查询一致,效率提高了300倍左右;

本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1732130,如需转载请自行联系原作者

mysql 5.6.4以上版本innodb支持全文索引的测试相关推荐

  1. MySQL 5.6.5之前版本不支持多条DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP

    创建数据表时失败,提示以下信息: 09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] HHH00038 ...

  2. 分析型数据库(AnalyticDB)-V2.7版本正式支持全文索引

    AnalyticDB 全文索引介绍 背景 大数据处理技术经过若干年的发展,结构化数据检索已经逐渐有了多元化的.丰富的解决方案.但是与此同时,比如文本.图片.视频等非结构化数据的产生速度越来越快,数据量 ...

  3. Mysql优化系列(1)--Innodb重要参数优化

    1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎.InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读.这些特 ...

  4. MySQL存储引擎之Myisam和Innodb总结性梳理

    Mysql有两种常用的存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比   MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名 ...

  5. MySQL存储引擎中MyISAM和InnoDB区别

    转载自  MySQL存储引擎中MyISAM和InnoDB区别 MyISAM 和InnoDB 讲解 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应 ...

  6. Mysql优化系列(1)--Innodb引擎下mysql自身配置优化

    1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎.InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读.这些特 ...

  7. MySQL数据库5.5.25a版本下载与安装

    文章目录 一.MySQL数据库5.5.25a版本下载 1.MySQL数据库下载地址 1.MySQL数据库其他版本下载 二.MySQL数据库安装 1.打开下载好的MySQL数据库安装包 2.点击Next ...

  8. MySQL学习笔记--常用存储引擎InnoDB与MyISAM总结

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.MyISAM 特性 1. 并发性与锁级别 2. 表损坏修复 3. MyISAM表支持的索引 4. MyISAM表支持压缩 ...

  9. MySQL存储引擎 lnnoDB逻辑架构 innodb存储引擎表空间(ibd文件)详解 回滚日志的物理空间

    文章目录 存储引擎 一 MySQL组织架构 二 查看存储引擎信息 三 修改存储引擎 3.1 配置文件修改存储引擎 3.2 临时修改存储引擎 3.3 建表时修改存储引擎 四 存储引擎实验 五 数据库升级 ...

最新文章

  1. 转载一些关于博客的文章
  2. 不用临时变量交换两个变量的值
  3. run webIDE application using mock data
  4. MATLAB编辑GUI界面
  5. 【软件分析与挖掘】An Empirical Study of Bugs in Build Process
  6. oracle查询不等于1000,解决oracle查询时 in 大于1000的办法
  7. 在下列数据类型中、python不支持的是_在下列数据类型中, Python不支持的是_学小易找答案...
  8. 【PyTorch】Trick集锦
  9. 机器学习笔记【二】逻辑回归与分类(2):感知机学习算法与逻辑回归的区别,牛顿方法
  10. 打造自己的Android源码学习环境之六:运行Android模拟器
  11. html5 java文件上传插件_5个最佳的javascript文件上传插件
  12. 基于springboot老年人健康体检系统(带论文)
  13. 结构光三维扫描仪(单相机+单投影仪)
  14. 开发板识别不了SD/TF卡
  15. magicyang语录
  16. java基础题数组_java基础学习——数组笔试题
  17. MySQL数据库软件及SQL简介
  18. openwrt软路由实现ipv6 nat 上网配置
  19. 朋友——friends
  20. 性能优化: http 请求的过程及潜在的性能优化点

热门文章

  1. mysql 中 end like,MySQL 这三道必问面试题,你都会吗?
  2. html boot设置列宽,html - Bootstrap 4:设置列宽固定位置内容的宽度 - SO中文参考 - www.soinside.com...
  3. 同一个html页面中两个area,HTML中的map和area标签
  4. java多个类调用_JAVA问题总结之15-多个类之间的调用
  5. 2017php行情,2017年蔬菜行情特点及未来蔬菜价格走势分析
  6. matlab中的nlinfit,matlab中nlinfit问题!!!!!!!!!!!!
  7. matlab数字图像处理课程设计报告,数字图像处理课程设计实验报告.doc
  8. 计算机刚过国家线能调剂到哪些学校,2020考研:刚过国家线好不好调剂?这4个调剂策略!考生要知道...
  9. php fpm 安装配置,php php+fpm安装配置
  10. 静态代码块,构造代码块,局部代码块演示