mysql的几种索引

news/2024/11/19 15:25:52/

mysql索引的介绍可以mysql官网的词汇表中搜索:
https://dev.mysql.com/doc/refman/8.0/en/glossary.html

mysql可以在表的一列、或者多列上创建索引,索引的类型可以选择,如下:
在这里插入图片描述

普通索引(KEY)

普通索引可以提高查询效率。在表的一列、或者多列上创建索引。
每个表可以创建多个普通索引。

例如,下面示例,在price列上创建了一个普通索引。
在这里插入图片描述

唯一索引(unique index)

在表的一列、或者多列上创建唯一索引。如果是在一列上创建,那么该列的值在表中是唯一的;如果是在多列上创建,那么多列的组合值在表中是唯一的。允许出现NULL值。
在一个表上可以创建多个唯一索引。

例如,下面示例,在表的type和pdate两列上创建了一个唯一索引。
在这里插入图片描述

主键(primary key)

在一列、或者多列上创建主键,用于唯一标识表中的一行数据。
主键首先必须是一个唯一索引,并且不能包含NULL 值。
在一个表上只能创建一个主键。
InnoDB存储引擎要求每个表有一个主键,也称为簇索引( clustered index 或者 cluster index)。基于主键列的值来组织表的存储。

例如,下面示例,在表的自增长的id列上创建了主键:
在这里插入图片描述

全文索引(FULLTEXT index)

全文索引是一种特殊的索引,用于高效的全文检索。
最初,全文索引只能用于 MyISAM表,但从 MySQL 5.6.4开始,在InnoDB 表上也能使用了。

例如,下面示例中,在description列上创建了全文索引:
在这里插入图片描述

空间索引(SPATIAL index)

空间索引是一种用于多维信息数据的索引,多维数据如地理坐标、矩形、多边形。
空间索引使用R-tree结构。

支持index_type选项的存储引擎的索引特性

https://dev.mysql.com/doc/refman/8.0/en/create-index.html

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1260415.html

相关文章

深入探索FastAPI单元测试:使用TestClient轻松测试你的API

原文:深入探索FastAPI单元测试:使用TestClient轻松测试你的API-51CTO.COM 当使用FastAPI进行单元测试时,一个重要的工具是TestClient类。TestClient类允许我们模拟对FastAPI应用程序的HTTP请求,并测试应用程序的响应。这使我们能…

vite脚手架,手写实现配置动态生成路由

参考文档 vite的glob-import vue路由配置基本都是重复的代码,每次都写一遍挺难受,加个页面就带配置下路由 那就利用 vite 的 文件系统处理啊 先看实现效果 1. 考虑怎么约定路由,即一个文件夹下,又有组件,又有页面&am…

多屏模式输入法可以正确切换屏幕展示原理剖析

背景 hi,粉丝朋友们: 近期有个学员问到了一个输入法相关问题。刚好梳理了一下输入法相关的在多屏模式的一个展示流程,这里做个记录,也相当于深入理解窗口相关的一篇干货blog。 如上面两幅图展示,输入法可以自由自在显…

Elasticsearch:什么是大语言模型(LLM)?

大语言模型定义 大语言模型 (LLM) 是一种深度学习算法,可以执行各种自然语言处理 (natural language processing - NLP) 任务。 大型语言模型使用 Transformer 模型,并使用大量数据集进行训练 —— 因此规模很大。 这使他们能够识别、翻译、预测或生成文…

外包干了2个多月,技术明显有退步了。。。。。

先说一下自己的情况,本科生,19年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

uni-app 自带返回方法onBackPress,返回上一级并且刷新页面内容获取最新的数据

onBackPress 返回上一级并且刷新页面内容获取最新的数据 onBackPress 方法是uinapp自带返回键方法,也就是在app和H5返回键 onBackPress() {setTimeout(() > {uni.switchTab({url: /pages/Users/index,})}, 300)return true}, methods: {}在这里 uni.switchTab…

C、C++、C#的区别概述

C、C、C#的区别概述 https://link.zhihu.com/?targethttps%3A//csharp-station.com/understanding-the-differences-between-c-c-and-c/文章翻译源于此链接 01、C语言 ​ Dennis Ritchie在1972年创造了C语言并在1978年公布。Ritchie设计C的初衷是用于开发新版本的Unix。在那之…

生信学院|12月8日《快速质检文档创建》

课程主题:快速质检文档创建 课程时间:2023年12月8日 14:00-14:30 主讲人:曾裕章 生信科技 售后服务工程师 1、Inspection模块介绍 2、Inspection插件版演示 3、Inspection独立版演示 4、总结与答疑 请安装腾讯会议客户端或APP&#xf…