MySQL索引的建立

MySQL索引

1.索引的含义

索引是创建在表上的,是对数据库表中一列或者多列的值进行排序的一种结构。索引可以提高查询速度

索引有两种存储类型:B型树(BTREE)索引 和 哈希(HSAH)索引;

2.索引的分类

1)普通索引

2)唯一性索引

设置唯一索引时,限制该索引的值必须是唯一的**

3)全文索引

全文索引只能在 CHAR VARCHAR或者TEXT类型的字段上建立。
4)单列索引

单列索引只根据该字段进行索引。可以是普通索引唯一性索引还可以是全文索引。

5)多列索引

多个字段上建立的索引

6)空间索引

只能建立在空间上的索引 目前只有MyISAM存储引擎支持空间索引。

索引的创建:

index

1.创建表时创建索引
	create table 表名(属性名 数据类型[完整性约束条件],
	属性名 数据类型[完整性约束条件]
	...
	[unique | fulltext|spatial ]  index|key 
			[别名] (属性名1  [长度]) [asc| desc])
			);

unique(唯一索引) fulltext(全文索引) spatial(空间) 都是可选参数。

别名是可选参数的 给索引创建的新名称,属性名1是指定索引对应字段的名称,长度仅限于字符串长度。

asc :升序排序 desc 降序排序

1)创建普通索引

create table  index(id int,
name  varchar(20),
 idex (id)
 );

2)创建唯一性索引

create table index1( id  int unique,
name  varchar(20),
unique index index1_t(id  asc)
);

3)创建全文索引
只能在varchar ,char ,text 上建立,q且存储引擎为MyISAM

create table  index2(id  int,
name  varchar(20),
fulltext index index2_t(name)
)engine =MyISAM;

4)创建单列索引

create  table index3(id  int ,
name carchar(20),
index idex3_t(name(20)
);

5)创建多列索引

create table index3(id  int,
name  varchar(20),
index index3_t(id,name)
);

6)创建空间索引

create table index4(id int ,
text1 geometry not  null,
spatial  index  index4_t(text1)
);engine=MyISAM;
2. 在已经存在的表上创建索引
create [unique | fulltext  |spatial] index 索引名
on 表名  (属性名 [(长度)]) [asc |desc]);
alter table 语句创建索引
	alter   table 表名 add  [unique | fulltext |spatial ]   idnex
		索引名 (属性名[(长度)])[asc | desc ]);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值