索引笔记【】【】

本文详细介绍了数据库索引的概念、作用以及如何创建、删除和查询索引。索引可以显著提高数据查询效率,通过示例展示了在学生表、订单表和菜单表中创建主键和唯一索引的方法,并提供了相关练习。理解并掌握索引的使用对于优化数据库性能至关重要。
摘要由CSDN通过智能技术生成

目录

索引引入

索引机制原理

索引指令 

 创建索引

 删除索引

修改索引

查询索引

创建索引练习 

​编辑

小结 


索引引入

在查询海量的数据需要花费大量的时间,要减少响应时间,就要用到索引。 

CREATE INDEX 索引名 on 表名(列名)-- 表示这个表的某列创造一个索引

在创建玩索引后,该表的文件大小会变大:索引本身会占用空间

创建索引后使用同样的查询语句进行查询,处理的速度会大大变快。

创建索引后只对创建了索引的列的查询数据有影响,其他没创建的该慢还是慢

索引机制原理

 

 

 比如有个学生表,在没有索引时执行查找id  = 6 的操作,会对全表进行扫描,逐条对比。

如果创建索引,会生成一个二叉树,如上,将大大减少了查询次数,这就是索引查询数独快的原因 

索引指令 

 

-- 查询emp 表有没有索引 


SHOW INDEXES from emp;

 创建索引

创建索引,再次查询

-- 给emp 表的empno添加一个唯一索引
CREATE UNIQUE INDEX empno_index on emp(empno)

添加普通索引的方式有两种 

-- 添加普通索引方式方式1
CREATE INDEX empno_index on emp(empno)、
-- 添加普通索引方式2
ALTER TABLE emp ADD INDEX empno_index(empno)

添加主键索引 

第一种是之前给某列添加主键,那就是添加了主键索引

第二中和添加普通索引差不多,只是把index换成 primary key

ALTER TABLE emp ADD PRIMARY KEY empno_index(empno)

 删除索引

-- 删除索引
-- 删除普通索引
DROP INDEX empno_index on emp
-- 删除主键索引
ALTER TABLE emp DROP PRIMARY KEY

修改索引

修改索引就是先把索引删除,再添加一个新索引

查询索引

查询索引有三种方式

-- 查询索引
-- 方法1
SHOW INDEX FROM emp
-- 方法2
SHOW INDEXES FROM emp
-- 方法3 
SHOW KEYS FROM emp

创建索引练习 

-- 1.创建一张订单表order (id号,数量).要求id号为主键,请使
-- 用2种方式来创建主键.(提示:为练习方便,可以是order1 , order2 )

-- 方法1 创建表时添加主键
CREATE TABLE order1 (
			id INT PRIMARY KEY,
			nums INT)
-- 方法2 通过alter add添加
CREATE TABLE order2(
			id INT,
			nums INT)
ALTER TABLE order2 ADD PRIMARY KEY id_index(id)

-- 创建一张特价菜谱表menu (id号,菜谱名,厨师,点餐人身份证,价
-- 格).要求id号为主键,点餐人身份证是unique请使用两种方式来创建unique.(提示:为练习方便,可以是menu1 , menu2、
-- 方法1 通过unique在创建表时添加
CREATE TABLE menu1(
				id INT PRIMARY KEY,
				menu_name VARCHAR(20) NOT NULL DEFAULT '',
				cart_id INT UNIQUE,
				price INT)
-- 方法2 
CREATE TABLE menu2(
				id INT PRIMARY KEY,
				menu_name VARCHAR(20) NOT NULL DEFAULT '',
				cart_id INT,
				price INT)
CREATE UNIQUE INDEX cart_index on menu2(cart_id)

小结 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值