Mysql学习笔记3-索引

索引的优缺点

优点:加快了查询的速度(select)

缺点:降低了增删改的速度(update/delete/insert)

增加了表的文件大小(索引文件甚至可能比数据文件还大)

索引的基本使用

创建普通的索引

方式1:CREATE INDEX indexName ON tableName(columnName);
方式2:ALTER tableName ADD INDEX [indexName] ON (columnName);
方式3:CREATE TABLE mytable( id int not null, username varchar(16) not null;
INDEX [indexName] (columnName) );

这里写图片描述

唯一索引

索引列的值必须唯一,但可以为null;如果是多个字段组合索引,那么列值得组合唯一

创建唯一索引

方式1:CREATE UNIQUE INDEX indexName ON tableName(columnName(length))
方式2:ALTER tableName ADD UNIQUE [indexName] ON (columnName(length))
方式3:CREATE TABLE tableName( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (columnName(length)) );

创建主键索引

主键索引(一种特殊的唯一索引,不可以为null)

ALTER TABLE tableName ADD PRIMARY KEY (columnName)

组合索引(多个字段的索引)

创建组合索引

ALTER TABLE tableName ADD INDEX index_name ( column1, column2, column3
)
创建索引可以大大提高系统的性能:

第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

增加索引也有许多不利的方面:

第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值