加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

【MySQL】全文索引详解

发布时间:2022-10-25 14:31:43 所属栏目:MySql教程 来源:未知
导读: 文章目录
全文索引概述
全文索引主要对字符串类型建立基于分词的索引,主要是基于CHAR、VARCHAR和TEXT的字段上,以便能够更加快速地查询数据量较大的字符串类型的字段。
全文索引以词为基础

文章目录

全文索引概述

全文索引主要对字符串类型建立基于分词的索引,主要是基于CHAR、VARCHAR和TEXT的字段上,以便能够更加快速地查询数据量较大的字符串类型的字段。

全文索引以词为基础的,MySQL默认的分词是所有非字母和数字的特殊符号都是分词符。

MySQL从3.23.23版本开始支持全文索引,MySQL5.6以前只能在存储引擎为MyISAM的数据表上创建全文索引,5.6之后InnoDB开始支持全文索引(5.7之后支持中文全文索引) 。在默认情况下,全文索引的搜索执行方式为不区分大小写,如果全文索引所关联的字段为二进制数据类型,就以区分大小写的搜索方式执行。

全文索引的创建 创建表时定义索引

语法

CREATE TABLE tablename(
    propname1 type1,
    propname2 type2,
    ……
    propnamen type..n,
    FULLTEXT INDEX | KEY
    [indexname] (propnamen [(length)] ) 
);

SQL语句示例

create table class(
    id int,
    name varchar(128) unique,
    teacher varchar(64),
    comment varchar(1024),
    fulltext index index_comm(comment)
);

随机插入数据

MySQL 索引_mysql数据库索引设计实例_mysql删除索引

使用全文检索where match(全文检索字段) against(检索内容);

MySQL 索引_mysql删除索引_mysql数据库索引设计实例

在已存在表上创建 执行create语句

在MySQL中创建全文索引除了通过SQL语句FULLTEXT INDEX来实现外MySQL 索引,还可以通过SQL语句CREATE FULLTEXT INDEX来实现,其语法形式如下:

 CREATE FULLTEXT INDEX indexname
    ON tablename( propname1 [ ( length ) ] ); 

SQL语句示例

create table class(
    id int,
    name varchar(128) unique,
    teacher varchar(64),

    comment varchar(1024)
);
create fulltext index index_comment 
    on class(comment);

mysql数据库索引设计实例_MySQL 索引_mysql删除索引

数据的插入与检索基本与上面类似,这里便不做展示。

执行ALTER TABLE语句

除了上述两种方式来创建全文索引外,在MySQL中创建全文索引还可以通过SQL语句ALTER来实现,其语法形式如下:

ALTER TABLE tablename
    ADD FULLTEXT INDEX|KEY indexname(propname [(length)]);

SQL语句示例

create table class(
    id int,
    name varchar(128) unique,
    teacher varchar(64),
    comment varcha(1024)
);
alter table class 
    add fulltext index index_comm (comment);

MySQL 索引_mysql删除索引_mysql数据库索引设计实例

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!