当前位置: 首页 > ai >正文

mysql--索引

索引作为一种数据结构,其用途是用于提升检索数据的效率。

分类

普通索引(INDEX):索引列值可重复
唯一索引(UNIQUE):索引列值必须唯一,可以为NULL
主键索引(PRIMARY KEY):索引列值必须唯一,不能为NULL,一个表只能有一个主键索引
全文索引(FULL TEXT):给每个字段创建索引

1.创建索引

1.1 普通索引(INDEX)

1.1.1  在创建表时指定

mysql> create table student1(id int not null, name varchar(100) not null, birthdy date, sex char(1) not null, index nameindex (name(50)));
Query OK, 0 rows affected (0.02 sec)

1.1.2  基于表结构创建

mysql> create table student2(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.01 sec)mysql> create index nameindex on student2(name(50));

1.1.3  修改表结构创建

mysql> create table student3(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.01 sec)mysql> ALTER TABLE student3 ADD INDEX nameIndex(name(50));

1.2 唯一索引(UNIQUE)

1.2.1  在创建表时指定

mysql> create table student4(id int not null, name varchar(100) not null, birthday date, sex char(1) not null, unique index id_idex (id));
Query OK, 0 rows affected (0.00 sec)

1.2.2  基于表结构创建

mysql> create table student5(id int not null, name varchar(100) not null, birthday date, sex char(1) not null);
Query OK, 0 rows affected (0.00 sec)mysql> CREATE unique INDEX idIndex ON student5(id);

2. 删除索引

2.1 普通索引(INDEX)

2.1.1 直接删除

mysql> DROP INDEX nameIndex ON student1;

2.1.2 修改表结构删除

mysql> ALTER TABLE student2 DROP INDEX nameIndex;

2.2 唯一索引(UNIQUE)

2.2.1 直接删除

mysql> DROP INDEX idIndex ON student4;

2.2.2 修改表结构删除

mysql> ALTER TABLE student DROP INDEX idIndex;

2.3 查看索引

mysql> SHOW INDEX FROM tab_name;

3.问题:

3.1 导致SQL执行慢的原因:

1.硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等。
2.没有索引或者索引失效.
3.数据过多

3.2 索引失效的原因:

运用函数
统计信息不准确:当表中的数据发生大量的插入、更新或者删除操作后,统计信息可能就不再准确
数据分布不均
或(两者都对)
数据类型不匹配
大量的模糊查询
函数的大量使用

注意点:

index(key)每张表可以有很多列做index,必须的起名

索引:当查询速度过慢可以通过建立优化查询速度,可以当作调优

http://www.xdnf.cn/news/3382.html

相关文章:

  • VulnHub-DC-2靶机
  • 【数据结构】励志大厂版·初阶(复习+刷题):栈与队列
  • 【Unity 游戏开发】角色控制模块技术要点拆解
  • 详细介绍Python-pandas-DataFrame全部 *功能* 函数
  • 【人工智能】图神经网络(GNN)的推理方法
  • 模型之FIM(Fill-In-the-Middle)补全
  • ADG网络故障恢复演练
  • tiktok web X-Bogus X-Gnarly 分析
  • FreeRTOS任务管理与通信机制详解
  • IPD研学:76页页基于IPD思想-华为需求管理培训方案【附全文阅读】
  • 初学python的我开始Leetcode题8-3
  • 第T10周:数据增强
  • python类私有变量
  • 【LeetCode 热题 100】3.无重复字符的最长子串:详解滑动窗口解法
  • 第3篇:请求参数处理与数据校验
  • [vscode]全局配置nim缩进
  • synchronized与Lock深度对比
  • 新能源行业供应链规划及集成计划报告(95页PPT)(文末有下载方式)
  • 2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码
  • 嵌入式C语言的运算符与输入输出
  • 方案精读:58页华为:全面预算管理与实践【附全文阅读】
  • 补4月30日
  • python310 安装 tensorflow-gpu2.10
  • 内网穿透系列二:使用cpolar公开一个本地Web站点到公网
  • 补题:K - Magic Tree (Gym - 105231K)
  • Java 期中考试试题考点剖析
  • jupyter notebook汉化教程
  • 打包 Python 项目为 Windows 可执行文件:高效部署指南
  • 题解:CF1398D Colored Rectangles
  • 【一】 基本概念与应用领域【数字图像处理】