【SQL 新手教程 4/20】关系模型 --索引

💗 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表

记录 (Record): 表的每一行称为记录(Record),记录是一个逻辑意义上的数据
字段 (Column):表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段

  • 字段定义了数据类型,及是否允许为NULL(NULL表示字段数据不存在)
idclass_idnamegenderscore
11小明M90
21小红F95
  • 索引:关系数据库中对某一列或多个列的值进行 预排序 的数据结构。通过使用索引,可以让数据库系统不必扫描整个表,而是直接定位到符合条件的记录,这样就大大 加快查询速度

例如,可以对 score 创建索引,操作如下:

ALTER TABLE students
ADD INDEX idx_score (score);  		/* 创建了一个名称为 idx_score ,使用列 score 的索引 */
ADD UNIQUE INDEX uni_name (name);   /* 通过 UNIQUE 关键字添加了一个唯一索引: students 表的 name 不能重复 */
  • 对于主键,关系数据库会自动对其创建主键索引;使用主键索引的效率是最高的
  • 也可以只对某一列添加一个唯一约束而不创建唯一索引
    ALTER TABLE students
    ADD CONSTRAINT uni_name UNIQUE (name);   
    
  • 数据库索引对于用户和应用程序来说都是透明的

欢迎关注 、订阅专栏 【SQL 新手教程】谢谢你的支持!💜💜
参考资料:廖雪峰的官方网站 – SQL 教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 评论弹窗手势问题

基本原理 给slidePopupView添加一个滑动手势 并设置代理 我们在 shouldReceiveTouch 代理方法中 通过 touch.view 判断 是否是滑动tableView, 如果 touch.view 是tableView , isDragScrollView 就是YES, 否则就是NO 并且要 shouldRecognizeSimultaneouslyWithGestu…

Unity发布安卓解决报错: You will no longer be able to disable R8

Unity发布安卓解决报错: You will no longer be able to disable R8 问题描述1 版本:2 问题描述:3 分析: 解决方案1 升级工程2 选择安卓版本12L3 直接打包 问题描述 1 版本: unity 2021 2 问题描述: da…

go run command

文章目录 1.简介2.格式3.示例4.注意事项5.常见用途参考文献 1.简介 编译并运行 Go 程序。 2.格式 go run [build flags] [-exec xprog] package [arguments...]run 编译并运行指定的 main 包。 通常,main 包被指定为来自单个目录的 .go 源文件列表,但…

echarts实现在市级行政区点击县级行政区,显示单个县级行政区地图数据

因需兼容ie,此处所有变量声明都用var。如无需支持,可另做let修改。 这里以常州市为例,我们可以去阿里云提供的地理工具去截取地图json数据DataV.GeoAtlas地理小工具系列 点击所选区域,右侧会对应显示json数据,再次点击右侧红框内…

MySQL 索引相关基本概念

文章目录 前言一. B Tree 索引1. 概念2. 聚集索引/聚簇索引3. 辅助索引/二级索引4. 回表5. 联合索引/复合索引6. 覆盖索引 二. 哈希索引三. 全文索引 前言 InnoDB存储引擎支持以下几种常见索引:BTree索引,哈希索引,全文索引 一. B Tree 索引…

java如何实现接口之间的继承

java如果要实现接口之间的继承需要用到语句 interface 接口1 extends 接口2,接口3 一个接口可以继承多个接口 示例代码如下 interface Animal03{public String name"牧羊犬";public void info(); } interface Color{public void black(); } interface…

2024巴黎奥运会竟然用AI做这些?

人工智能将成为 2024 年巴黎奥运会的焦点,组织者于四月制定了《奥运会人工智能议程》,这是一个涵盖人工智能对奥运会未来影响的框架。 该议程体现了国际奥委会及其主要合作伙伴的承诺,确保在奥运会上使用人工智能来促进团结、提高可持续性并加…

从零到一使用 Ollama、Dify 和 Docker 构建 Llama 3.1 模型服务

本篇文章聊聊,如何使用 Ollama、Dify 和 Docker 来完成本地 Llama 3.1 模型服务的搭建。 如果你需要将 Ollama 官方不支持的模型运行起来,或者将新版本 llama.cpp 转换的模型运行起来,并且想更轻松的使用 Dify 构建 AI 应用,那么…

网络传输层——UDP与TCP

前言: 1.国际网络体系结构: OSI模型: open system interconnect 理论模型 1977 国际标准化组织 各种不同体系结构的计算机能在世界范围内互联成网。 应用层:要传输的数据信息,如文件传输,电子邮件等…

数据结构:队列(顺序存储和链式存储)

文章目录 1. 队列的概念和结构2. 队列的链式存储实现2.1 初始化2.2 判断队列是否为空2.3 入队列2.4 出队列2.5 取队头数据2.6 取队尾数据2.7 队列有效数据的个数2.8 打印队列数据2.9 销毁2.10 源代码 3. 队列的顺序存储实现(循环队列)3.1 初始化3.2 判断队列是否为空3.3 判断队…

【数据结构之C语言实现动态顺序表】

引 入: 在讲顺序表之前得先了解线性表是什么? 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表,链表,栈,队列,字符串…… 线性表…

Meta 发布地表最大、最强大模型 Llama 3.1

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友解…

【iOS】暑期第一周——ZARA app仿写

目录 前言无限轮播图分栏控件和滚动视图自定义cell遇到的问题调整图标大小单元格附件视图设置 总结 前言 暑假学习的第一周任务是对ZARA app进行仿写,充分运用之前学习的Objective-C语言和UI控件。我在编写demo的过程中遇到了一些问题,特写该博客作为学习…

【Go】探索 Go 语言的内建函数 make

山水间歌声回荡 回荡思念的滚烫 去年的家书两行 读来又热了眼眶 云水边静沐暖阳 烟波里久违的故乡 别来无恙 你在心上 🎵 张靓颖/张杰《燕归巢》 在 Go 语言中,make 是一个非常强大的内建函数,用于创建和初始化特定类型…

LLM与搜索推荐

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

VScode连接服务器免密登录

1、生成 SSH 密钥对 打开终端并输入以下命令生成 SSH 密钥对: 直接搜索 cmd,然后输入: ssh-keygen -t rsa -b 4096 一直回车就好了 这时公钥存储在/Users/你的用户名/.ssh/id_rsa.pub文件里,私钥存储在/Users/你的用户名/.ss…

B Tree和B+ Tree的区别

1. 叶子节点的存储 2. 查询效率 3. 范围查询 4. 内存使用 5. 插入和删除 6. 应用场景 总结 B树(B-Tree)和B树(B Tree)都是广泛应用于数据库和文件系统中的自平衡树数据结 构,主要用于存储和检索大量数据。虽然它…

简单的数据结构:栈

1.栈的基本概念 1.1栈的定义 栈是一种线性表,只能在一端进行数据的插入或删除,可以用数组或链表来实现,这里以数组为例进行说明 栈顶 :数据出入的那一端,通常用Top表示 栈底 :相对于栈顶的另一端,也是固…

Unity 动画曲线(Animation Curves):创造流畅动画的关键

在Unity中,动画曲线(Animation Curves)是一种强大的工具,用于在动画和游戏开发中创建平滑且自然的过渡效果。通过动画曲线,开发者可以轻松地控制动画参数随时间的变化,实现复杂的动画效果。本文将探讨Unity…

gitee R包安装

要安装giteeR包,你可以使用以下步骤: 安装remotes包:giteeR包不是CRAN上的标准包,因此你需要使用remotes包从Git仓库安装。 install.packages("remotes")从Gitee安装giteeR包: remotes::install_git("h…