mysql数据库索引
mysql数据库索引
1.概念
索引类似于书的目录,可以更快的找到指定内容的位置。
在mysql中常见索引有两种:
- InnoDB(默认) :事务优先 (适合高并发操作;行锁)
- MyISAM :性能优先 (表锁)
2.操作
2.1创建表时指定数据库对象的引擎
create table tb(
id int(4) auto_increment ,
name varchar(5),
dept varchar(5) ,
primary key(id)
)ENGINE=MyISAM AUTO_INCREMENT=1
DEFAULT CHARSET=utf8;
2.2索引分类
主键索引: 不能重复。id 不能是null
唯一索引 :不能重复。id 可以是null
单值索引 : 单列, age ;一个表可以多个单值索引,name。
复合索引 :多个列构成的索引 (相当于 二级目录 : z: zhao) (name,age) (a,b,c,d,...,n)
2.3创建索引
方式一:
模板:create 索引类型 索引名 on 表(字段) 单值:
create index dept_index on tb(dept);
唯一:
create unique index name_index on tb(name) ;
复合索引
create index dept_name_index on tb(dept,name);方式二:
模板:alter table 表名 add 索引类型 索引名(字段)
单值:
alter table tb add index dept_index(dept) ;
唯一:
alter table tb add unique index name_index(name);
复合索引
alter table tb add index dept_name_index(dept,name);注意:如果一个字段是primary key,则改字段默认就是 主键索引
2.4删除索引
drop index 索引名 on 表名 ;
drop index name_index on tb ;
2.5查询索引
show index from 表名 ;
show index from 表名 \G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫