数据库中索引部分

一.索引定义

索引是一种独立存在的,对数据库表中一列或多列的值进行排序(目的:加快查询速度,提高效率)

数据库引擎:innodb支持索引.

show create table 表名——查看数据库索引

二.案例

索引是如何提高查询速度?

实例:

set profiling=1-- 初始化计时器

由于name没有建索引,所以使用以下sql语句执行后观察所用时间

show profiles;--查看查询的执行时间

select * from test_index where name='我的年龄12999';

create index name_index on test _index(name);

结论:索引可以提高查询速度。

三.建立索引

索引的分类

1.普通索引index:

    简单排序 加速查询

2.唯一索引 unique

    主键索引:primary key 加速查询+实现实体完整性约束(不能有重复,也不能是null值)

   唯一索引:unique加快查询 不允许有重复值 可以空值(null值)

   create unique index 索引名字 on 表名(字段(长度));

3.联合索引

primary key(id name):联合主键索引

unique(id name):联合唯一索引

index(id name):联合普通索引

4.全文索引 功能:分词

create fulltext index 索引名字 on 表名 (字段1(长度));

create fulltext index 索引名字 on 表名(字段1(长度),字段2(长度));

5.空间索引 了解 数据库索引

索引建立方式

普通索引

语法:

方法一:

create index 索引名 on 表名(字段名(长度));

方法二:

通过修改表结构来建索引

alter table 表名 add index 索引名(字段名(长度));

方法三:

create table 表名(字段名1 类型1(宽度))

        ……,

 index 索引名(字段名(宽 度)));

唯一索引

创建唯一索引

方法一:

create unique index 索引名 on 表名(字段名(宽度));

方法二:

alter table 表名 add unique 索引名(字段名(长度));

方法三:

create table 表名(字段名1 类型1(宽度))

                            ……,

                           unique 索引名(字段名(宽度)));

示例:

create table mytable(

id int not null,

username varchar(16) not null,

primary key(id)

);

删除索引

语法:

drop index 索引名 on 表名;

示例:

drop index xxhh on test_index;

索引的作用
     索引可以提高我们的查询效率
索引的缺点
    会占用一定磁盘空间
    会影响更新,插入,删除效率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值