MySQL中的全文索引
全文索引(Fulltext index)主要用来查找文本中的关键字,而不是直接与索引中的值相比较。Fulltext索引跟其他索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。Fulltext索引配合match against操作使用,而不是一般的where语句加like;
全文索引可以从char、varchar或text列中作为create table语句的一部分被创建,或是随后使用alter table添加。不过切记对于大容量的数据表,生成全文索引是一个非常消耗时间非常消耗硬盘空间的做法;
一、如何添加全文索引
修改表添加全文索引;
Alter table 表名 add fulltext 索引名(列名)
例
(一)修改 emp7 表添加 content 列类型为 TEXT
Alter table emp7 add content text
(二)修改 emp7 表,为 content 列创建全文索引
Alter table emp7 add fulltext emp7_content_full(content)
创建表时添加全文索引;
Create table 表名(列名 类型 , fulltext 索引名(列名));
例
创建 emp8 表包含 emp_id 列,content 列该列类型为 text,并为该列 添加名为
emp8_content_fulltext 的全文索引
Create table emp8(emp_id int primary key auto_increment , content text , fulltext emp8_content_fulltext(content))
二、如何删除全文索引
Drop index 索引名 on 表名
Alter table 表名 drop index 索引名
例 删除 emp8 表中名为 emp8_content_fulltext 的索引。
Drop index emp8_content_fulltext on emp8