MySQL--索引

SQL查询优化-添加索引 对于新手小白,想要优化SQL,提升查询速度的,简单粗暴的方式。 阅读详情
索引
一、索引定义
索引是一种独立存在的,对数据库表中一列或多列的值进行排序(目的:加快查询速度,提高查询效率)。
二、案例演示
索引是如何提高查询速度的?
示例:
-- 未建立索引
select * from test_index where name='我的年龄12999';
-- 通过show profiles,查看查询的执行时间
show PROFILES;
-- 建立一个索引
create index name_index on test_index(name);
-- 再次通过show profiles,查看查询的执行时间
-- 结论:索引是可以提高查询速度的
三、建立索引
1、索引的分类
普通索引index:简单排序 加速查询
唯一索引unique
主键索引:primary key 加快查询+实现实体完整性约束(不能有重复,也不能是null值)
唯一索引:unique加快查询 不允许有重复值 可以空值(null值)
组合索引(多个字段构成索引)
全文索引fulltext(功能:分词)
空间索引(spatial):了解 数据库引擎
2、索引建立方式
2.1 普通索引
-- 方法1:创建索引
create index 索引名 on 表名(字段名(长度));
-- 文本型字段可以指定长度,其它的数据类型是不需要指定长度的
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length,下
同。
-- 方法2:修改表结构来建索引
alter table 表名 add index 索引名(字段名(宽度));
-- 关于宽度的描述与方法1相同
-- 方法3:建立表的同时直接指定索引
create table 表名(字段名1 类型1(宽度),
字段名2 类型2(宽度),
……,
index 索引名(字段名(宽度))
)
示例:
create index name_index on test_index(name);
drop index name_index on test_index;
alter table test_index add index xxhh(name(10));
drop index xxhh on test_index;
drop table test_index;
create table test_index(
id int not null primary key auto_increment,
name varchar(20) not null,
index xxhh(name(20))
);
2.2 唯一索引
语法:
方法1:创建唯一索引
create unique index 索引名 on 表名(字段名(宽度));
方法2:修改表结构的同时建立唯一索引
alter table 表名 add unique 索引名(字段名(宽度));
方法3:创建表的时候直接指定
create table 表名(字段名1 类型1(宽度),
字段名2 类型2(宽度),
……,
unique 索引名(字段名(宽度))
);
示例:
create unique index xx on mytable(id);
drop index xx on mytable;
alter table mytable add unique hh(id);
drop index hh on mytable;
drop table mytable;
create table mytable(
id int not null,-- 非空约束
username varchar(16) not null,
unique xxhh(id)
);
2.3 主键索引
语法
create table 表名(字段名1 类型1(宽度),
字段名2 类型2(宽度),
……,
primary key(字段名)
);
示例:
create table mytable(
id int not null,-- 非空约束
username varchar(16) not null,
primary key(id)
);
2.4 组合索引
语法
create table 表名(表名(字段名1 类型1(宽度),
字段名2 类型2(宽度),
……,
index 索引名(字段名1(宽度),字段名2(宽度))
);
alter table 表名 add index 索引名(字段名1(宽度),字段名2(宽度));
create index 索引名 on 表名(字段名1(宽度),字段名2(宽度));
示例:
create table mytable(
id int not null,
username varchar(16) not null,
city varchar(50) not null,
age int not null,
index city_age_username(username varchar(10),city varchar(50),age)
);
3、删除索引
语法:
drop index 索引名 on 表名;
示例:
drop index xxhh on test_index;
SQL语法基础-多表查询(+索引简介) SQL语法基础-多表查询+索引简介 阅读详情

相关推荐

Qt绘图实战:用QGraphicsItem实现可拖拽箭头连接(附完整代码)

本文详细介绍了如何使用Qt的QGraphicsItem框架实现一个功能完备的可拖拽箭头连接组件。通过核心代码示例,讲解了如何创建自定义图形项、实现智能吸附、碰撞检测以及实时拖拽编辑路径,为构建流程图、拓扑图等专业图形编辑器提供了完整的解决方案。

m2n3b4v5c6的博客 626

创建索引的sql语句是什么

创建索引的sql语句是【CREATE INDEX indexName ON table_name (column_name)】,这是最基本的索引,它没有任何限制。 本文操作环境:windows10系统、mysql 5.7、thinkpad t480电脑。 创建索引的sql语句如下所示: 下面是最基本的创建索引的语法,它没有任何限制。 CREATE INDEX indexName ON table_name (column_name) 如果是CHAR,VARCHAR类型,length可以小.

2万+

手把手教你用Three.js+Vue打造3D机房可视化系统(附完整代码)

本文详细介绍了如何使用Three.js与Vue 3构建企业级3D机房可视化系统。从技术选型、项目架构设计到3D场景构建、设备建模与渲染策略,提供了完整的开发方案和实战代码。重点讲解了如何实现设备状态实时监控、交互操作与性能优化,帮助开发者快速掌握3D可视化开发的核心技术。

ttt77的博客 317

SQL之SQL索引

索引(index)是帮助MysQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

LP'S Blog 1万+

MOS管关断时尖峰电压的5种实用抑制方案(附实测数据对比)

本文针对MOS管关断时产生的尖峰电压问题,提供了五种经过实验室实测验证的实用抑制方案。文章从尖峰电压的成因分析入手,详细阐述了优化PCB布局、设计RC缓冲电路、选用TVS二极管钳位、调节驱动电路以及使用磁珠吸收高频振荡等方法的原理、实施步骤与实测数据对比,为硬件工程师解决开关电源和电机驱动中的过压应力与EMI问题提供了系统性的实战指南。

1240

Machine Unlearning: A Survey

机器学习已经引起了广泛的关注,并发展成为一种使能技术,用于广泛的高度成功的应用,如智能计算机视觉、语音识别、医疗诊断等。然而,由于隐私、可用性和/或被遗忘权,一些特定样本的信息需要从称为机器遗忘的模型中删除,这就产生了一种特殊的需求。这项新兴技术因其创新性和实用性而引起了学术界和工业界的极大兴趣。与此同时,这个雄心勃勃的问题导致了许多旨在应对其挑战的研究工作。据我们所知,没有任何研究分析过这一复杂的主题,也没有比较过现有的遗忘解决方案在不同场景下的可行性。因此,通过这项调查,我们旨在了解遗忘技术的关键概念。

c_cpp_csharp的专栏 1159

SQL笔记-建索引

SQL笔记-建索引

qq_41177135的博客 6042

一键开关机电路

一键开关机电路

让你爱上电路设计 4180

【MySQL】索引

介绍索引,建立MySQL与磁盘交换的基本单位的共识,深入理解索引,最后进行索引操作!

YoungMLet的博客 6501

锂电池寿命预测 | Pytorch实现基于Transformer 的锂电池寿命预测(NASA数据集)

锂电池寿命预测 | Pytorch实现基于Transformer 的锂电池寿命预测(NASA数据集)

算法如诗的博客 5588

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 73

MySQL —— 索引

介绍MySQL 的索引,索引的运作流程分析,索引的创建修改以及删除。

熵减玩家 3262

Autosar进阶专栏索引

Autosar进阶专栏索引

赞的博客 3540

MySql 索引

MySql 索引底层原理和实现,MySql索引创建,删除,使用。

2301_76293625的博客 2307

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

MySQL索引

MySQL系列: 1.了解索引 2.以B+树为索引数据结构的原因 2.1 Hash 索引 2.2二叉搜索树 (BST) 索引 2.3数据结构: N 叉树(例如 B 树) 2.4数据结构: B+ 树 2.5为什么 B+ 树是数据库索引的首选 3.MySQL页 3.1使用页的原因 3. 2页的结构概览 3.3页文件头和页文件尾 3.4页主体 3.5 页目录: 3.6数据页头 4.索引分类 4.1 主键索引(Primary Key Index) 4.2 普通索引(Secondary Index / Non-Uni

2401_85487314的博客 1211

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MySQL——索引

MySQL、索引

2303_78442132的博客 1750

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql索引年龄索引_MySQL索引

1.提升查询效率类似字典,比如:年龄为20的都在第几页,把20和页码都存放在索引中下一次查询时,不从第一页,一条一条的查询,而是根据索引信息快速的查询出数据。索引本身也要耗费存储空间的,跟字典中的拼音查询、部首查询占字典的页数一样。2.其他的增删改,效率降低索引还会浪费增删改效率,除了查询效率高了以外,其他的增删改效率都低了。(数据页的数据改动也需要改动索引页相对应的数据)3.MySQL索引类型3...

weixin_42631411的博客 1320

Mysql的索引

在mysql中,索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,可以用来快速查询数据表中有某一特定值的记录。通过索引,查询数据时不用读完记录的所有信息,而只是查询索引列即可。什么是mysql索引。

jdbcmeng的博客 1049
上一篇: 卸载MySQL
下一篇: Mysql简介及相关知识
王思远9864
博客等级 码龄3年 35粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值