MySQL innodb 全文索引使用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,1、mysql 5.7 全文索引以下几个参数(配置文件/etc/my.cnf)#控制innodb全文检索分词的最小长度,如果设置为2那么一个汉字和一个字母将不能搜到ngram_token_size=1
千家信息网最后更新 2025年11月07日MySQL innodb 全文索引使用
1、mysql 5.7 全文索引以下几个参数(配置文件/etc/my.cnf)
#控制innodb全文检索分词的最小长度,如果设置为2那么一个汉字和一个字母将不能搜到ngram_token_size=1
#存储在InnoDB的FULLTEXT索引中的最小词长,所说使用了ngram_token_size之后就不用innodb_ft_min_token_size了,但为了保险我两个都设置了innodb_ft_min_token_size=1
#最小分词长度,一般修改为1ft_min_word_len = 1
2、创建表
mysql> show create table s_test;+--------+---------------------------------------------------------+| Table | Create Table |+--------+---------------------------------------------------------+| s_test | CREATE TABLE `s_test` ( `id` int(11) NOT NULL DEFAULT '0' COMMENT 'primary key', `uname` varchar(50) DEFAULT NULL COMMENT '用户名', `dept` int(11) DEFAULT NULL COMMENT '部门组ID', `info` varchar(200) DEFAULT NULL COMMENT '其他信息') ENGINE=InnoDB DEFAULT CHARSET=utf8 |+--------+--------------------------------------------------------+1 row in set (0.00 sec)3、创建索引
mysql> create fulltext index ix_ft_s_test_uname_info on s_test(uname,info) WITH PARSER ngram;Query OK, 0 rows affected, 1 warning (2.68 sec)Records: 0 Duplicates: 0 Warnings: 14、查询这张表的所有索引
mysql> show index from s_test;+--------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |+--------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| s_test | 1 | ix_ft_s_test_uname_info | 1 | uname | NULL | 99750 | NULL | NULL | YES | FULLTEXT | | || s_test | 1 | ix_ft_s_test_uname_info | 2 | info | NULL | 99750 | NULL | NULL | YES | FULLTEXT | | |+--------+------------+-------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+2 rows in set (0.00 sec)5、查询索引详细情况
mysql> select * from mysql.innodb_index_stats where database_name='mydb' and table_name='s_test' ;+---------------+------------+------------------+---------------------+--------------+------------+-------------+-----------------------------------+| database_name | table_name | index_name | last_update | stat_name | stat_value | sample_size | stat_description |+---------------+------------+------------------+---------------------+--------------+------------+-------------+-----------------------------------+| mydb | s_test | FTS_DOC_ID_INDEX | 2015-10-03 14:07:18 | n_diff_pfx01 | 100672 | 20 | FTS_DOC_ID || mydb | s_test | FTS_DOC_ID_INDEX | 2015-10-03 14:07:18 | n_leaf_pages | 121 | NULL | Number of leaf pages in the index || mydb | s_test | FTS_DOC_ID_INDEX | 2015-10-03 14:07:18 | size | 161 | NULL | Number of pages in the index || mydb | s_test | GEN_CLUST_INDEX | 2015-10-03 14:07:18 | n_diff_pfx01 | 99750 | 20 | DB_ROW_ID || mydb | s_test | GEN_CLUST_INDEX | 2015-10-03 14:07:18 | n_leaf_pages | 525 | NULL | Number of leaf pages in the index || mydb | s_test | GEN_CLUST_INDEX | 2015-10-03 14:07:18 | size | 545 | NULL | Number of pages in the index |+---------------+------------+------------------+---------------------+--------------+------------+-------------+-----------------------------------+6 rows in set (0.00 sec)6、全索引查询
通过在AGAINST()函数中指定1、IN NATURAL LANGUAGE MODE expr就是要搜寻的字符串。 2、IN NATURAL MODE WITH QUERY EXPANSION 第一次用给定的短语搜索,第二次使用给定的短语结合第一次搜索返回结果中相关性非常高的一些行进行搜索。3、IN BOOLEAN MODE expr里有特殊字符辅助特殊的搜寻语法查询只能按短语,不能使用中间字符mysql> select count(*) from s_test where MATCH(uname,info) AGAINST ('a*' IN BOOLEAN MODE);+----------+| count(*) |+----------+| 6238 |+----------+1 row in set (0.02 sec)
索引
查询
最小
字符
短语
搜索
全文
特殊
第一次
长度
不用
两个
中指
信息
全文检索
函数
参数
字母
字符串
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
车辆网络安全怎么保证
做软件开发多思考
数据库技术与应用体会
容器控制网络安全
计算机系统与网络技术心得
街道办事处办公软件开发商
ip地址网络安全
网络安全与执法专业好吗
计算机网络技术自荐考试
上海信息软件开发包括哪些
网络安全线下对抗赛
中学生网络安全大赛英语翻译
常用抗原数据库
服务器的计算能力
nba篮球数据库主客场
极富网络技术有限公司
大华7016平台服务器怎么重置
连接第三方服务器失败是啥意思
服务器证书使用场景和安装方式
360 网络安全峰会
现阶段计算机软件开发面临的难点
北京软件开发工程师
吉菲特网络技术
写入数据库出错
国泰安数据库中的因子数据
网络安全第四十六条司法解释
软件开发方案书前言
纯希数据库
微交易软件开发周期
航比网络技术工作室