mysql建立聚族索引语句_innodb 建立聚簇索引

今天在mysql上建立聚簇索引,发现使用了create cluster index 会报语法错误。于是到网上查阅资料找到了原因:因为我的mysql引擎是innodb,二在innodb里的聚簇索引不能单独建立聚簇索引,一般默认已主键为聚簇索引

innodb索引分类:聚簇索引(clustered index)1)  有主键时,根据主键创建聚簇索引2)  没有主键时,会用一个唯一且不为空的索引列做为主键,成为此表的聚簇索引3) 如果以上两个都不满足那innodb自己创建一个虚拟的聚集索引

索引相关常用命令:1) 创建主键 CREATE TABLE `pk_tab2` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`a1` varchar(45) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2) 创建唯一索引create unique index indexname on tablename(columnname);

alter table tablename add unique index indexname(columnname);

3) 创建单列一般索引create index indexname on tablename(columnname);

alter table tablename add index indexname(columnname);

4) 创建单列前缀索引create index indexname on tablename(columnname(10));    //单列的前10个字符创建前缀索引

alter table tablename add index indexname(columnname(10)); //单列的前10个字符创建前缀索引

5) 创建复合索引create index indexname on tablename(columnname1,columnname2);    //多列的复合索引

create index indexname on tablename(columnname1,columnname2(10));    //多列的包含前缀的复合索引

alter table tablename add index indexname(columnname1,columnname2); //多列的复合索引

alter table tablename add index indexname(columnname1,columnname(10)); //多列的包含前缀的复合索引

6) 删除索引drop index indexname on tablename;;

alter table tablename drop  index indexname;

7) 查看索引show index from tablename;

show create table pk_tab2;

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值