MySQL数据库索引类型

在数据量偏大的时候执行查询语句查询时间会变长,这时我们会根据需求在数据库中添加索引来加快查询效率。我们先来做个测试,不加索引和加索引下的效率对比。

在card_code列没加索引的时,查询时间如下,大概都在0.07秒。

 我们来加上索引试试,加上后查询效率高了许多。

 下面来看看索引的类型:

1.Normal普通索引

普通索引也是我们最常用的索引,在使用时限制很少。比如上面为dm_person_info表 的card_code列添加名为card_code_index的索引。

ALTER TABLE `dm_person_info` ADD INDEX card_code_index ( `card_code` );

2.Unique唯一索引

唯一索引列的值必须唯一,允许有空值。如果是组合索引的话,列值的组合必须唯一。

ALTER TABLE `table_name` ADD UNIQUE INDEX index_name (`column`)

我试着给card_code列加唯一索引,card_code列值不唯一,加不上。

3.Full Text全文索引

可在多列column上添加联合的全文索引,我们给居住地地址和户籍地址这两列加上索引。

注意: 旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上,MySQL5.6.24上InnoDB引擎也加入了全文索引,我的mysql版本是5.5的,所以InnoDB引擎的表格加不上全文索引,先修改为MyISAM。

ALTER TABLE `dm_person_info` ADD FULLTEXT INDEX  address_index (`jzd_dz`, `hjdz`);

查询看看

select * from dm_person_info where MATCH (`jzd_dz`,`hjdz`) AGAINST ("shanghai anhui");

4.PRIMARY KEY主键索引

将一列设置为主键,即添加了主键索引,这个大家都了解,就不多介绍了。

ALTER TABLE `dm_person_info` ADD PRIMARY KEY (`rk_id`);

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值