大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
MySQL文档提供了这种格式来创建FULLTEXT索引:
| {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,…)
[index_option]
要使用MySQL实现全文搜索,您可以通过编写来创建索引:
CREATE TABLE posts (
id int(4) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
content text,
PRIMARY KEY (id),
FULLTEXT (title, content)
) ENGINE=MyISAM;
要么
CREATE TABLE posts (
id int(4) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
content text,
PRIMARY KEY (id),
FULLTEXT KEY my_index_name (title, content)
) ENGINE=MyISAM;
my_index_name是用户定义的名称而不是字段名称.
>他们之间有什么区别?
>系统本身和开发人员是否有任何后果?
我无法在文档中找到任何线索:
解决方法:
省略索引名称
如果添加索引/键
对于表,MySQL将在指定的列(列集)上存储其他信息以加快搜索速度.
在您的第一个示例中,MySQL将生成一个索引并为其命名
my_index_name.如果省略名称,MySQL将为您选择一个.我找不到关于如何选择名称的文档,但根据我的经验,第一列的名称通常被重用作索引名称.
对于本部分讨论,全文选项无关紧要.它只定义了您要创建的索引/键的类型:
You can create special FULLTEXT indexes, which are used for full-text searches.
省略index / key关键字
仅提供全文就足够了:
| {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,…)
[index_option] …
但是使用全文索引表格可能是一个好主意,因为读者会被提醒索引.
index和key是同义词
请注意,索引和键之间没有区别(请参阅create table):
KEY is normally a synonym for INDEX. The key attribute PRIMARY KEY can also be specified as just KEY when given in a column definition. This was implemented for compatibility with other database systems.
例
use test;
create table u (
id int primary key,
a varchar(10),
b varchar(10),
fulltext index (a, b)
);
show index from u;
将打印(我已从此输出中省略了主索引以及一些
附加栏目):
table key_name seq_in_index column_name
u a 1 a
u a 2 b
例如,如果要删除它,则需要索引名称:
alter table u
drop index a;
参考
标签:mysql,full-text-indexing
来源: https://codeday.me/bug/20190623/1275204.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/223789.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...