mysql index类型: PRIMARY,INDEX,UNIQUE,FULLTEXT,SPATIAL 各有什么不同?

mysql index类型: PRIMARY,INDEX,UNIQUE,FULLTEXT,SPATIAL 各有什么不同?,第1张

primary 是主键 这个就是表的主键了,唯一的不能重复出现

index 是索引索引就如同书的目录

unique 是唯一约束 标识数据库表中的每条记录

fulltext 全文索引 一个 FULLTEXT 类型索引

spatial 空间索引 这个跟GIS有关

联合索引是由多个字段组成的索引。create

[unique|fulltext|spatial]

index

index_name[using

index_type]on

tbl_name

(index_col_name,...)index_col_name:col_name[(length)]

[asc

|

desc]如果你经常要用到多个字段的多条件查询,可以考虑建立联合索引,一般是除第一个字段外的其它字段不经常用于条件筛选情况,比如说a,b

两个字段,如果你经常用a条件或者a+b条件去查询,而很少单独用b条件查询,那么可以建立a,b的联合索引。

InnoDB按照主键进行聚集,如果没有定义主键,InnoDB会试着使用唯一的非空索引来代替。如果没有这种索引,InnoDB就会定义隐藏的主键然后在上面进行聚集。所以,对于 聚集索引 来说,你创建主键的时候,自动就创建了主键的聚集索引。而普通索引(非聚集索引)的语法,大多数数据库都是通用的:CREATE INDEX Syntax CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [index_type] ON tbl_name (index_col_name,...) [index_type] index_col_name: col_name [(length)] [ASC | DESC] index_type: USING {BTREE | HASH | RTREE}[java] view plaincopy-- 创建无索引的表格 create table testNoPK (id int not null,name varchar(10) ) -- 创建普通索引 create index IDX_testNoPK_Name on testNoPK (name)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8706756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存