mysql----索引

mysql官方对索引的定义为:索引(index)是帮助mysql高效获取数据的数据结构。

在mysql数据库中,所有的数据类型都可以建立索引,对列使用索引主要是提高庞大数据量查询的效率。根据储存引擎可以定义每个表的最大索引和最大索引长度,每种储存引擎(例如InnoDB,MYISAM,MEMORY等引擎)对每个表至少支持16个索引,总索引长度至少为256字节。大多数储存引擎有更高的限制。

MYISAM和innoDB储存引擎的表默认创建的都是BTREE索引。mysql目前还不支持函数索引,但是支持前缀索引,即对索引字段的前N个字符创建索引。前缀索引的长度跟存储引擎相关,对于MYISAM存储引擎的表,索引的前缀长度可以达到1000字节长,而对于InnoDB储存引擎的表,索引的前缀长度是767字节。请注意前缀的限制应以字节为单位进行测量。而create table 语句中的前缀长度解释为字符数。在为使用多字节字符集的列指定前缀长度时一定要加以考虑。

mysql还支持全文本(fulltext)索引,该索引可以用于全文搜索。但是当前最新版本(5.0)中只有MYISAM存储引擎支持全文本索引,而且只限于char,varchar和text列。索引总是对整个列进行的,不支持局部(前缀)索引。

也可以为空间列类型创建索引,但是只有MYISAM存储引擎支持空间类型索引,且索引的字段必须是非空的。

默认情况下,MEMORY储存引擎使用hash索引,但也支持btree索引。

索引在创建表的时候可以同时创建,也可以随时增加新的索引,创建新的索引的语法为:

方式一:create [unique|fulltext|spatial] index 索引名 [using index_type] on 表名 (列名/字段名(length));

方式二:alter table 表名 add index 索引名(`字段名`(length));

详细内容:细说mysql索引

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值