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

[数据库之十一] 数据库索引之联合索引

  执行数据库查询时,通常查询条件是多对个属性进行判断和约束,对于这种类型的查询,如果存在多个索引则使用多个索引,或者使用建立在多属性搜索码上的索引,这样能提高查询效率。

一、使用多个单码索引

  假设数据表 instructor 有两个单码索引,分别建立在 dept_namesalary 上。为了找到金融系中工资为 80000 的所有老师,使用以下 SQL:

select ID
from   instructor
where  dept_name = "Finance" and salary = 80000;



  可以使用以下几种查询策略:

1、使用 dept_name 上的索引,找出属于金融系的所有记录,再检查每条记录是否满足 salary = 80000。
2、使用 salary 上的索引,找出所有工资为 80000 的记录,再检查每条记录是否满足 dept_name = "Finance"。
3、利用 dept_name 上的索引找出指向属于金融系的记录的所有指针。同样利用 salary 上的索引找出指向工资等于 80000 的记录的所有指针。两个指针集合的交集,即为所有满足查询条件的记录的所有指针。


  三种策略只有第三种利用了存在的多种索引的优势,但是在以下条件下也可能是糟糕的选择:

  • 属于金融系的记录太多

  • 工资为 80000 的记录太多

  • 属于金融系且工资为 80000 的记录只有几个



    因为为了得到一个很小的结果集,必须扫描大量指针,策略的执行效果取决于索引属性值的分布。


二、多码索引(联合索引)

1、最左前缀匹配规则

  为了解决上面的问题,一个可行的方案是在复合的搜索码(dept_name, salary)上建立和使用索引,这就是联合索引

  联合索引有个规则,叫最左前缀匹配规则,即 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配,值得注意的是,当遇到范围查询(>、<、between、like)就会停止匹配。



  比如对于SQL:

select ID
from   instructor
where  dept_name = "Finance" and salary = 80000;select ID
from   instructor
where  dept_name = "Finance";

  都是可以匹配索引的,查询条件一个是(dept_name, salary),一个是(dept_name),复合最左前缀匹配规则。


  但是对下面的查询是不匹配的:

where  salary = 80000;

  因为前面的查询条件没有 dept_name,联合索引最左边的属性 dept_name 没有匹配到,就不会对后面的属性 salary 使用索引。


  对下面的查询也是可以匹配到索引的

where salary = 80000 and dept_name = "Finance";

  因为数据库有优化器会自动调整 salary、dept_name 的顺序与索引顺序一致。


  遇到范围查询,会停止对后面属性的索引匹配,比如建立索引(a, b, c, d),where 后条件为

a = 1 and b = 2 and c > 3 and d = 4

  那么,a,b,c三个字段能用到索引,而d就匹配不到。因为遇到了范围查询,但是如果把索引改成(a, b, d, c)则又可以匹配了,因为数据库优化器会自动把查询条件的属性顺序调整为

a = 1 and b = 2 and d = 4 and c > 3



2、数据结构

假设,我们对(a,b)字段建立索引,那么入下图所示

对于联合索引(a, b),先按 a 进行排序,相同的 a 内部才按 b 进行排序,对于整个 B+ 树来说,a 在其中是有序的,按照前序遍历的顺序,上图中各个树节点 a 的值分别为 1, 1, 2, 2, 2, 3, 3。

而 b 是一种全局无需,局部有序的状态,即相同的 a 内部的有序。同样按照前序遍历的顺序,各个结点 b 的值分别为 1, 2, 1, 4, 4, 1, 2。因此对于 b = 2 这种查询条件是没办法使用索引的。

只有当 a 的值确定时,b 才是有序的。比如 a = 1 时,b 值是 1, 2 的有序状态;当 a = 2 时,b 值是 1, 4 的有序状态。因此,执行 a = 1 and b = 2 时 a, b 字段能用到索引,而执行 a > 1 and b = 2 时,a 字段能用到索引,b 字段用不到索引,因此此时 a 的值是一个范围,不是固定的,在这个范围内 b 值不是有序的,因此 b 字段用不上索引。

所以,根据最左前缀匹配原则,在遇到范围查询时,就会停止匹配。



3、实战
题型一

如果sql为

SELECT * FROM table WHERE a = 1 and b = 2 and c = 3;

如何建立索引?

如果此题回答为对(a,b,c)建立索引,那都可以回去等通知了。 此题正确答法是,(a,b,c)或者(c,b,a)或者(b,a,c)都可以,重点要的是将区分度高的字段放在前面,区分度低的字段放后面。像性别、状态这种字段区分度就很低,我们一般放后面。

例如假设区分度由大到小为b,a,c。那么我们就对(b,a,c)建立索引。在执行sql的时候,优化器会 帮我们调整where后a,b,c的顺序,让我们用上索引。


题型二

如果sql为

SELECT * FROM table WHERE a > 1 and b = 2;

如何建立索引?

如果此题回答为对(a,b)建立索引,那都可以回去等通知了。 此题正确答法是,对(b,a)建立索引。如果你建立的是(a,b)索引,那么只有a字段能用得上索引,毕竟最左匹配原则遇到范围查询就停止匹配。 如果对(b,a)建立索引那么两个字段都能用上,优化器会帮我们调整where后a,b的顺序,让我们用上索引。


题型三

如果sql为

SELECT * FROM `table` WHERE a > 1 and b = 2 and c > 3;

如何建立索引? 此题回答也是不一定,(b,a)或者(b,c)都可以,要结合具体情况具体分析。

拓展一下

SELECT * FROM `table` WHERE a = 1 and b = 2 and c > 3;

怎么建索引?嗯,大家一定都懂了!

(a, b, c) 或 (b, a, c) 根据区分度决定 a 前还是 b 前。


题型四
SELECT * FROM `table` WHERE a = 1 ORDER BY b;

如何建立索引? 这还需要想?一看就是对(a,b)建索引,当a = 1的时候,b相对有序,可以避免再次排序! 那么

SELECT * FROM `table` WHERE a > 1 ORDER BY b;

如何建立索引? 对(a)建立索引,因为a的值是一个范围,这个范围内b值是无序的,没有必要对(a,b)建立索引。

拓展一下

SELECT * FROM `table` WHERE a = 1 AND b = 2 AND c > 3 ORDER BY c;

怎么建索引?

(a, b, c) 或 (b, a, c) 根据区分度决定 a 前还是 b 前。


题型五
SELECT * FROM `table` WHERE a IN (1,2,3) and b > 1;

如何建立索引?

还是对(a,b)建立索引,因为IN在这里可以视为等值引用,不会中止索引匹配,所以还是(a,b)!



喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

[数据库之十一] 数据库索引之联合索引

执行数据库查询时&#xff0c;通常查询条件是多对个属性进行判断和约束&#xff0c;对于这种类型的查询&#xff0c;如果存在多个索引则使用多个索引&#xff0c;或者使用建立在多属性搜索码上的索引&#xff0c;这样能提高查询效率。 一、使用多个单码索引 假设数据表 instruc…...

【Linux】Linux工具(1)

3.Linux工具&#xff08;1&#xff09; 文章目录 3.Linux工具&#xff08;1&#xff09;Linux 软件包管理器 yum什么是软件包关于 rzsz查看软件包——yum list命令如何安装软件如何卸载软件补充——yum如何找到要安装软件的下载地址 Linux开发工具Linux编辑器-vim使用1.vim的基…...

微信小程序使用腾讯云COS SDK实现用户头像上传

引入与初始化COS SDK &#xff08;从官网下载cos-wx-sdk-v5.js文件&#xff0c;本地上传&#xff09; const COS require(../../../static/utils/cos-wx-sdk-v5.js) as any;//实例化一个cos对象 const cos new COS({SecretId: AK***********************VedSJ, //idSecretK…...

什么是HTML、CSS 和 JavaScript?

HTML、CSS 和 JavaScript 是构建网页的三大核心技术&#xff0c;它们分工明确又紧密协作。接下来我将分别介绍三者的定义、功能&#xff0c;并阐述它们如何共同构成网页&#xff0c;最后推荐学习资源。 一、HTML&#xff1a;网页的骨架与内容基础 HTML&#xff08;HyperText …...

兼具直连存储与分布式存储优势的混合存储方案

兼具直连存储与分布式存储优势的混合存储方案 一、分层存储架构 ‌热数据本地直存‌ 将高频访问的热数据&#xff08;如数据库事务日志、实时计算中间结果&#xff09;存储在DAS本地SSD中利用DAS的低延迟特性提升实时性要求高的业务性能 ‌温冷数据分布式存储‌ 低频访问的温…...

App Store支付新政重构跨境电商生态:eBay卖家的突围之道

2024年4月&#xff0c;美国联邦法院对苹果应用商店支付体系的裁决掀起全球电商海啸。这场源自Epic Games诉讼案的制度变革&#xff0c;正在跨境电商领域掀起超预期的蝴蝶效应。本文将深入剖析政策变革对eBay生态的冲击路径&#xff0c;揭示跨境卖家转型升级的核心策略。 一、支…...

Rust 开发环境搭建与插件

生成完整文章 用户请求写一篇完整的CSDN文章&#xff0c;要求根据之前的建议生成。文章要包含结构清晰、标题、代码示例、常见提示、跨平台Rust工具链安装差异等内容。文章需准确&#xff0c;包括插件和使用提示&#xff0c;CLI程序示例等。主要内容包括&#xff1a;介绍、Rus…...

Axios替代品Alova

介绍alova | Alova.JS Multipart 实体请求 | Axios中文文档 | Axios中文网 1. 极致的轻量与性能 Tree-shaking优化&#xff1a;仅打包使用到的功能模块 零依赖&#xff1a;基础包仅 4KB&#xff08;Axios 12KB&#xff09; 2. 智能请求管理&#xff08;开箱即用&#xff0…...

【C语言】文件操作(续)

目录 复习&#xff1a; 一⽂件的顺序读写 例子&#xff1a; 前言&#xff1a; 在上篇文章中介绍了文件的类型&#xff0c;文件指针&#xff0c;流&#xff0c;操作的函数。 在本篇文章继续为大家带来文件细节分享&#xff0c;如 顺序读写等等。 复习&#xff1a; fopen是…...

Angular 面试常见问题

1. 请阐述 Angular 的工作原理 Angular 的工作流程涉及多个关键环节&#xff0c;从组件交互到浏览器渲染&#xff0c;以下是其核心流程&#xff1a; 组件交互&#xff1a;当用户触发特定事件&#xff08;如点击按钮&#xff09;时&#xff0c;组件会响应这些交互&#xff0c;…...

数据库(MySQL)基础

一、登录数据库 在linux系统中登录数据库的指令 mysql -h 127.48.0.236 -P 3306 -u root -p -h&#xff1a;填写IP地址&#xff0c;指明要连接的主机。如果不加该字段表示本地主机-P&#xff1a;填写端口号&#xff0c;指明进程。 如果不加该字段会使用默认的端口号。-u&…...

【Java ee 初阶】文件操作和IO(上)

一、文件 文件在计算机中&#xff0c;是保存到“硬盘”上的。操作系统&#xff0c;把硬盘操作进行了抽象封装&#xff0c;使得编程的时候&#xff0c;是不会直接操作硬盘的&#xff0c;而是通过“文件”的概念来进行间接操作。 文件有哪些操作&#xff1f;——>打开文件&a…...

微信小程序备案的一些记录

小程序如果没有备案是搜索不到小程序的。 小程序备案需要填写主体负责人的信息&#xff0c;需要主体负责人的手机号验证码&#xff0c; 需要填写管理员的信息&#xff0c;同样也需要验证手机号码&#xff0c; 填写完毕之后&#xff0c;提交进行初审&#xff0c;初审之后会打…...

leetcode0279. 完全平方数-medium

1 题目&#xff1a;完全平方数 官方标定难度&#xff1a;中 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1…...

2018机械行业ERP软件发展趋势

随着互联网经济的发展&#xff0c;实体的经济将来很有发展的优势&#xff0c;管理的信息化工具&#xff0c;也要随着市场需求的改变而改变。 以前的ERP管理系统&#xff0c;管理管控的方向。 1、以物料管理为核心&#xff0c;通过ERP管理系统&#xff0c;将企业的物料管理清楚&…...

限制布局大小,实现文本自适应

实现数字部分自适应 适配后 使用页需绑定ref <div class"setting-bind-text" ref"element" :style"{ transform: scale(${scale}) }">{{ coin }}</div> script部分引入使用 import { useTextScale } from /hooks/useTextScale; c…...

涨薪技术|0到1学会性能测试第52课-Tomcat调优技术

前面的推文我们掌握了Tomcat服务器的3种监控技术知识。今天给大家分享Tomcat调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。 在对Tomcat进行调优之前,需要对Tomcat的结构体系有一个清楚的了解,这对调优起到至交重要的作用,Tomcat结构体系图,如图10-20所示…...

Arm核的Ubuntu系统上安装Wireshark

Arm核的Ubuntu系统上安装Wireshark 一、安装wireshark 安装命令&#xff1a; sudo apt-get install wireshark-qt 如下图所示&#xff1a; 安装过程弹出如下界面&#xff1a; 鼠标选择Yes&#xff0c;点回车键确认 安装完成。 二、打开wireshark 输入命令行打开wireshark …...

C++模板【上篇】 —详解模板基础语法

文章目录 前言1. 泛型编程2. 模板的类别2.1 函数模板2.2 类模板 3. 模板的实例化3.1 函数模板的实例化3.1.1 隐式实例化* 编译器实例化原理3.1.2 显示实例化 3.2 类模板的实例化 前言 在这篇文章中&#xff0c;主要介绍一些模板的基础的语法和一些细节&#xff0c;同时了解泛型…...

谈谈Redis缓存和数据库一致性

目录 1、缓存问题 2、更新缓存 3、删除缓存 4、最终方案 5、缓存分类 5.1、缓存穿透 5.2、缓存击穿 5.2、缓存雪崩 6、示例 前言 Redis 作为缓存与数据库之间的通信模式能够显著提升系统性能&#xff0c;减少数据库的压力。 通过合理使用 Redis 进行数据存取&#xff…...

JWT深度解析:现代Web身份验证的通行证-优雅草卓伊凡

# JWT深度解析&#xff1a;现代Web身份验证的通行证 ## 一、JWT的本质与构成 ### 1.1 JWT的定义解析 JWT&#xff08;JSON Web Token&#xff09;是一种**开放标准&#xff08;RFC 7519&#xff09;**&#xff0c;用于在各方之间安全地传输信息作为JSON对象。这种信息可以被…...

VTK|.obj文件数据处理+Jet/Viridis/CoolToWarm/Grayscale/Rainbow/风格颜色渲染

文章目录 处理OBJ文件Jet渲染风格Viridis渲染风格CoolToWarm渲染风格Grayscale渲染风格Rainbow渲染风格切换风格按钮槽函数&#xff08;可优化&#xff09;相关代码github链接 将 .obj 数据进行 Elevation 着色并可视化渲染的完整流程 和.ply文件处理方式一样 处理OBJ文件 vo…...

如何通过服务主体获取 Azure 凭据

本文详细讲解如何通过 Azure 服务主体生成凭据,使应用程序能够安全访问 Azure 资源(如部署 Container Apps)。以下步骤基于 Azure Portal 操作,适用于自动化部署、CI/CD 等场景。 步骤 1:登录 Azure Portal 访问 Azure 门户。使用 Azure 账户(需具备订阅管理员权限)登录…...

Kubernetes探针生产环境实战指南

一、探针的本质&#xff1a;应用健康的智能体检系统 想象你的应用是一个高空走钢丝的演员&#xff0c;Kubernetes探针就像三位安全员&#xff1a; 启动探针&#xff1a;检查演员是否站稳&#xff08;应用是否完成初始化&#xff09;就绪探针&#xff1a;确认演员准备好表演&a…...

node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)

本地 ✅ 使用formidable 读取表单内容 npm i formidable ✅ 使用mime-types 获取图片后缀 npm install mime-types✅ js 中提交form表单 document.getElementById(uploadForm).addEventListener(submit, function(e){e.preventDefault();const blob preview._blob;if(!blob)…...

线代第二章矩阵第五、六、七节矩阵的转置、方阵的行列式、方阵的伴随矩阵

文章目录 矩阵的转置转置性质对称矩阵与反对称矩阵 方阵的行列式方阵的伴随矩阵&#xff08;重要&#xff09; 矩阵的转置 转置性质 &#xff08;1&#xff09; &#xff08;2&#xff09; &#xff08;3&#xff09; &#xff08;4&#xff09;注意这个&#xff1a; 扩展&a…...

经验:从CAN到以太网为主的车载网络架构升级

引言 新能源汽车智能化与网联化的进程中&#xff0c;传统CAN总线已难以满足高带宽、低延迟的通信需求&#xff0c;车载以太网逐步成为新一代电子架构的核心骨干。本文基于工程实践&#xff0c;系统性解析车载以太网的核心技术、协议栈、拓扑设计及工具链升级策略&#xff0c;助…...

基于FPGA婴儿安全监护系统(蓝牙小程序监测)

基于FPGA婴儿安全监护系统 前言一、芯片手册阅读二、代码分析1.温湿度驱动2.转速等级设置模块3.电机转速控制模块 总结视频演示 前言 实时监测车内温湿度数据&#xff08;DTH11温湿度模块&#xff09;----实时控制风扇驱动速度&#xff08;结合温湿度进行控制&#xff09;----…...

嵌入式 C 语言控制语句

目录 1. 控制语句 2. 分支语句 2.1 if else 2.2 switch 3. 循环语句 3.1 goto 3.2 while 循环 3.3 do while 循环 3.4 for 循环 3.5 例题 3.6 循环控制语句 3.6.1 break 3.6.2 continue 1. 控制语句 控制语句分为&#xff1a;顺序语句&#xff0c;分支语句&#xff0…...

leaflet-velocity风场粒子效果及数据处理

一&#xff0c;后台给到的数据 {"msg": "success","code": 200,"data": {"startLat": 39.3,"endlat": 41.2,"latdel": 0.099999994,"startLon": 115.3,"endLon": 117.50001,"…...

React 实现 JWT 登录验证的最小可运行示例

下面是一个用 React 实现 JWT 登录验证的最小可运行示例&#xff0c;包含&#xff1a; React 前端&#xff1a;登录、保存 Token、获取用户数据。模拟后端&#xff1a;用 mock API&#xff08;你也可以接真后端&#xff09;。 &#x1f9f1; 技术栈 React&#xff08;使用 Vi…...

MySQL报错解决过程

我在调试datagrip的时候&#xff0c;显示拒绝连接&#xff0c;开始的时候&#xff0c;我以为只是服务没有开启&#xff0c;结果到后来在网上搜索各种解决办法无果后&#xff0c;就选择卸载&#xff0c;卸载之后安装新的MySQL 以下就是我的解决过程。 如果只是在使用外置软件&…...

更多 QVariant 使用案例

以下是 QVariant 的其他典型应用场景及代码示例&#xff0c;涵盖更多实际开发需求&#xff1a; 6. 数据库查询结果处理 处理数据库字段的异构数据类型&#xff08;如整数、字符串、日期等&#xff09;&#xff1a; QSqlQuery query; query.exec("SELECT name, age, crea…...

WPF中解决数据绑定不匹配的问题

在 WPF 开发中&#xff0c;IValueConverter 和 IMultiValueConverter 接口是非常实用的工具&#xff0c;它们允许你在数据绑定过程中对数据进行转换。 IValueConverter 接口示例 IValueConverter 接口用于单值转换&#xff0c;它包含 Convert 和 ConvertBack 两个方法。Conve…...

学习Cesium Entities

🌐 Cesium中的Entities系统趣味学习 📊 Entities系统架构流程图 #mermaid-svg-Lkue5O3gYOkEVSbD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Lkue5O3gYOkEVSbD .error-icon{fill:#552222;}#mermaid-svg-Lku…...

Spark处理过程-案例数据清洗

&#xff08;一&#xff09;需求说明 准备十条符合包含用户信息的文本文件&#xff0c;每行格式为 姓名,年龄,性别&#xff0c;需要清洗掉年龄为空或者非数字的行。 例如&#xff1a; 张三,25,男 李四,,女 王五,30,男 赵六,a,女 孙七,35,男 周八,40,女 吴九,abc,男 郑十,45,女…...

【AI提示词】马斯洛需求分析专家

提示说明 专业的心理学需求分析专家&#xff0c;熟悉马斯洛需求层次理论及其在不同文化背景下的适用性。 提示词 # Role: 马斯洛需求分析专家## Profile - language: 中文 - description: 专业的心理学需求分析专家&#xff0c;熟悉马斯洛需求层次理论及其在不同文化背景下的…...

【WebRTC-13】是在哪,什么时候,创建编解码器?

Android-RTC系列软重启&#xff0c;改变以往细读源代码的方式 改为 带上实际问题分析代码。增加实用性&#xff0c;方便形成肌肉记忆。同时不分种类、不分难易程度&#xff0c;在线征集问题切入点。 问题&#xff1a;编解码器的关键实体类是什么&#xff1f;在哪里&什么时候…...

Kuikly 安装环境篇

1、安装版本号为2024.1.1 的Android studio&#xff08;如使用高版本的Android studio需要更改JDK版本号为17&#xff09; 2、JDK版本使用17&#xff08;如需要修改JDK&#xff1a;Android Studio -> Settings -> Build,Execution,Deployment -> Build Tools -> Gr…...

npm create vite@latest my-vue-app 解读

背景发荧光的样式。 filter属性的学习&#xff1a;filter - CSS&#xff1a;层叠样式表 | MDN 复习一下em 组件的调用: 是msg让“ViteVue”显示出来的&#xff01;&#xff01; a标签的targte属性&#xff1a; 组件之间怎么传值的&#xff1a; &#xff0c;没看懂code标签怎么…...

【本地搭建npm私服】使用Verdaccio

使用Verdaccio搭建本地NPM私服及私有包管理指南 一、Verdaccio安装与基础配置 1. 安装Verdaccio # 全局安装Verdaccio npm install -g verdaccio# 检查版本 verdaccio --version2. 启动服务 verdaccio启动后默认监听4873端口&#xff0c;访问 http://localhost:4873 3. 配…...

Chroma:一个开源的8.9B文生图模型

Chroma 模型讲解 一、模型概述 Chroma 是一个基于 FLUX.1-schnell 的 8.9B 参数模型。它采用了 Apache 2.0 许可证&#xff0c;完全开源&#xff0c;允许任何人使用、修改和在其基础上进行开发&#xff0c;不存在企业限制。该模型目前正在训练中&#xff0c;训练数据集从 20M…...

量子通信技术及其在信息安全中的应用:开启无条件安全通信的新时代

前言 在数字化时代&#xff0c;信息安全是全球关注的焦点。随着传统加密技术面临量子计算等新兴技术的挑战&#xff0c;量子通信作为一种基于量子力学原理的新型通信技术&#xff0c;因其无条件安全的特性而备受关注。量子通信不仅能够有效抵御量子计算的威胁&#xff0c;还能为…...

【杂谈】Godot 2D游戏窗口设置

如切如磋&#xff0c;如琢如磨。 目录 一、引言二、设置&#xff08;一&#xff09;基本尺寸&#xff08;二&#xff09;拉伸&#xff08;三&#xff09;手持设备朝向&#xff08;四&#xff09;​​窗口模式​​ 一、引言 在开发2D游戏时&#xff0c;​​窗口尺寸的设定是游戏…...

MySQL 8.0 OCP认证考试题库持续更新

MySQL是属于甲骨文Oracle公司的一个世界知名的免费数据库产品&#xff0c;使用的范围广、企业多、人员也多&#xff0c;所以对MySQL认证关注的人也不少&#xff0c;MySQL的证书与Oracle的证书使用的是同一个模板&#xff0c;只是在内部的介绍上稍有不同&#xff0c;MySQL认证考…...

C++GO语言微服务基础技术②

目录 01 protobuf语法回顾 02 protobuf的编译、和其他序列化比较 03 查看protoc编译文件对比自定义封装 04 grpc安装简介 05 grpc服务远程调用作业布置 06 作业-grpc-server端 07 作业-grpc-client端 01 protobuf语法回顾 ## 编译 protobuf> 回顾&#xff1a;C 编译 …...

【使用switch结构输出季节】2021-11-23

缘由用switch语句设计程序一年有12个月-编程语言-CSDN问答 void 使用switch结构输出季节(int y) {//缘由https://ask.csdn.net/questions/7577096?spm1005.2025.3001.5141std::cout << y << "\t";switch (y){case 3: case 4: case 5:std::cout <<…...

【Bootstrap V4系列】学习入门教程之 组件-下拉菜单(Dropdowns)

Bootstrap V4系列 学习入门教程之 组件-下拉菜单&#xff08;Dropdowns&#xff09; 下拉菜单&#xff08;Dropdowns&#xff09;一、Overview 概述二、Accessibility 可访问性三、Examples3.1 Single button 单按钮3.2 Split button 分割按钮 四、Sizing 尺寸 下拉菜单&#x…...

基础编程题目集 6-8 简单阶乘计算

本题要求实现一个计算非负整数阶乘的简单函数。 函数接口定义&#xff1a; int Factorial( const int N ); 其中N是用户传入的参数&#xff0c;其值不超过12。如果N是非负整数&#xff0c;则该函数必须返回N的阶乘&#xff0c;否则返回0。 裁判测试程序样例&#xff1a; #in…...

解决word里插入公式后打不开的问题

小铃铛最近在写毕业论文了&#xff0c;需要在文档里插入公式&#xff0c;然鹅一插入就卡死了&#xff0c;直接关闭文档后就再也打不开了&#xff0c;报错什么确定磁盘有空间&#xff08;&#xff1f;总之就是文档损坏的意思&#xff09; 这个时候不要慌&#xff0c;先把word后缀…...