【Java面试八股文宝典之MySQL篇】备战2023 查缺补漏 你越早准备 越早成功!!!——Day21

news2025/2/26 6:08:30

        大家好,我是陶然同学,软件工程大三即将实习。认识我的朋友们知道,我是科班出身,学的还行,但是对面试掌握不够,所以我将用这100多天更新Java面试题🙃🙃。

  不敢苟同,相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。当然,我不会太深入,因为我怕记不住!!

  因此,不足的地方希望各位在评论区补充疑惑、见解以及面试中遇到的奇葩问法,希望这100天能够让我们有质的飞越,一起冲进大厂!!,让我们一起学(juan)起来!!!  

数据库索引类型

普通索引

MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。

唯一索引

唯一索引与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一主键索引每张表一般都会有自己的主键,当我们在创建表时,MySQL会自动在主键列上建立一个索引,这就是主键索引。主键是具有唯一性并且不允许为NULL,所以他是一种特殊的唯一索引。

组合索引

组合索引也叫复合索引,指的是我们在建立索引的时候使用多个字段,例如同时使用身份证和手机号建立索引,同样的可以建立为普通索引或者是唯一索引。复合索引的使用复合最左原则。

全文索引

全文索引的关键字是fulltext(佛text)

全文索引主要用来查找文本中的关键字,而不是直接与索引中的值相比较,它更像是一个搜索引擎,基于相似度的查询,而不是简单的where语句的参数匹配。用like + % 就可以实现模糊匹配了,为什么还要全文索引?like + % 在文本比较少时是合适的,但是对于大量的文本数据检索,是不可想象的。全文索引在大量的数据面前,能比like + % 快 N 倍,速度不是一个数量级,但是全文索引可能存在精度问题。

空间索引(了解)

MySQL在5.7之后的版本支持了空间索引,而且支持OpenGIS几何数据模型

空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL。空间索引一般是用的比较少,了解即可。

数据库索引的底层是什么数据结构

MyISAM引擎使用B+Tree

MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。

InnoDB引擎使用B+Tree

InnoDB的叶节点的data域存放的是数据,相比MyISAM效率要高一些,但是比较占硬盘内存大小。

mysql三大范式 

第一范式:1NF 原子性,列或者字段不能再分,要求属性具有原子性,不可再分解;

第二范式:2NF 唯一性,一张表只说一件事,是对记录的惟一性约束,要求记录有惟一标识,

第三范式:3NF 直接性,数据不能存在传递关系,即每个属性都跟主键有直接关系,而不是间接

关系。

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

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

相关文章

JavaEE——文件操作与IO操作

目录 文件路径 文件类型 File类 文件的创建 文件流 File类文件读写操作 通过PrintWriter写或Scanner读 PrintWriter写 Scanner读 文件路径 计算机中的文件是以树形结构进行存储的。要找一个文件,需要通过根目录一层一层找,直到找到,…

不敲代码用ChatGPT开发一个App

先说下背景,有一天我在想 ChatGPT 对于成熟的开发者来说已经是一个非常靠谱的助手了,身边也确实有很多同事把它作为一个离不开的助理担当。 但是如果我只是略微懂一点前端知识的新人,了解 HTML、CSS、JS 相关的知识,想开发一个安…

华为进军ERP,北用友南金蝶格局或将生变?用户:No!我们选择它

目录 华为搅局ERP市场 用友金蝶如何应对 我们另有选择 那么这款软件是什么? 小结 华为搅局ERP市场 任正非表示4月份将上线MetaERP!受此消息影响,ERP市场的两大巨头用友、金蝶股价纷纷跳水。 在机构的定价逻辑里,用友网络、金…

主机发现和端口扫描基本原理和工具选择

发现主机 扫描端口指令sudo nmap -sn ip 实则是封装ping指令 可以找目标靶机 sudo nmap --min-rate 10000 -p- 192.168.10.191 -p端口号 -p-从一开始扫 设置最小速度扫描 -p-指定靶机 10000是较好的速度 在工作中最好扫两遍 UDP扫描 sudo nmap -sU --min-rate 10000 …

10 kafka生产者发送消息的原理

1.发送原理: 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中拉取消息发送到…

大数据自我进阶(数据仓库)-暂未完全完成

什么时候需要数据仓库? 1.当决策者要进行战略分析或者展示统计的需求。 2.并且数据量非常庞大,而且各个都是数据孤岛。 当满足这2个条件后,就需要搭建数据仓库。 数据仓库的第一步(数据清洗) 为了能准确的分析&am…

python编辑工具PyCharm下载安装步骤

开发python程序的途径还是不少的 用解释器一行行执行代码 或者 通过解释器程序执行一个python代码文件 但这两种方式 其实都只是测试场景下的使用 就好像古代打仗,光有英雄好汉没用,他还有有一件趁手的兵器,大部分python程序都是在PyCharm上开…

MIPI 打怪升级之DPI篇

目录1 Overview2 Display Architectures2.1 Type 1 Display Architecture Block Diagram2.2 Type 2 Display Architecture Block Diagram2.3 Type 3 Display Architecture Block Diagram2.4 Type 4 Display Architecture Block Diagram3 Interface Signal Description3.1 Power…

逆波兰表达式求值(力扣刷题代码随想录刷题)

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 、-、* 和 / 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两…

4月9日第壹简报,星期日,农历闰二月十九

4月9日第壹简报,星期日,农历闰二月十九坚持阅读,静待花开1. “2023中国品牌女性500强”榜单揭晓,屠呦呦、张桂梅、董明珠、刘洋、孟晚舟、谷爱凌等入选。2. 京东集团副总裁:将在今年发布“京东版”ChatGPT。3. 以冒名顶…

壹-prometheus安装

https://blog.csdn.net/hancoder/article/details/121703904 安装 壹, prometheus server 安装 github 1,上传安装包 # 解压到/opt/module 目录下: mkdir /opt/module tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /opt/module # 修改目录…

vscode+gitee

临近毕业,程序整理很麻烦,学习了一下gitee。 使用方法 1.安装必要的软件 (1).vscode:参照之前环境配置的博文 (2).git 2.在gitee新建仓 (1)新建仓 (2&…

学会吊打面试官之容器终篇priority_queue

小白:大牛您好,我即将毕业需要找工作,但是我对于常用容器的特点和用法不是很清楚,能否跟我聊聊呢? 大牛:没问题,我很乐意帮助你。常用容器有 vector、list、set、map 和 priority_queue。其中&…

Linux中你必须掌握的CPU load

文章目录1. 查看CPU load2.CPU load含义2.1 单核CPU2.2 多核CPU3. 获得系统的CPU信息1. 查看CPU load uptimeloadd average后的三个数字分别代表1分钟、5分钟、15分钟的负载情况平均值 2.CPU load含义 CPU load是一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息…

ESP32设备驱动-SHT20温湿度传感器驱动

SHT20温湿度传感器驱动 文章目录 SHT20温湿度传感器驱动1、SHT20介绍2、硬件准备3、软件准备4、驱动实现1、SHT20介绍 Sensirion 的 SHT20 湿度和温度传感器已成为外形尺寸和智能方面的行业标准:嵌入在 3 x 3mm 封装和 1.1mm 高度的可回流焊双扁平无引线 (DFN) 封装中,它提供…

2023年的深度学习入门指南(3) - 动手写第一个语言模型

2023年的深度学习入门指南(3) - 动手写第一个语言模型 上一篇我们介绍了openai的API,其实也就是给openai的API写前端。在其它各家的大模型跟gpt4还有代差的情况下,prompt工程是目前使用大模型的最好方式。 不过,很多编程出身的同学还是对于…

HTML5 音频 Audio

文章目录HTML5 音频 Audio互联网上的音频浏览器支持HTML5 Audio - 如何工作音频格式及浏览器支持音频格式的MIME类型HTML5 Audio 标签HTML5 音频 Audio HTML5 提供了播放音频文件的标准。 互联网上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准。 今天…

【2023】某python语言程序设计跟学第七周内容

目录1.文件的使用1.1.文件的类型1.2.文件的打开和关闭1.3.文件内容的读取1.4.文件内容的写入2.实例:自动轨迹绘制3.一维数据格式化和处理3.1.数据组织维度3.2.一维数据的表示3.3.一维数据的存储3.4.一维数据的处理4.二维数据格式化和处理4.1.二位数据的表示4.2.CSV格…

在 Python 中制作一个字母列表

要列出字母表: 使用 string.ascii_lowercase 属性获取字母表中的字母字符串。使用 list() 类将字符串转换为列表。该列表将包含字母表中的所有字母。 import string# ✅ 获取字母表中小写字母的列表 lower string.ascii_lowercase list_of_lowercase_letters li…

【python数据分析】对乐高、奥特曼、高达进行分析,看看哪个卖的最好

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 前期准备 软件: Jupyter Notebook: 是一个开源的web应用程序,可以使用它来创建和共享包含实时代码、方程、可视化和文本的文档。 Jupyter Notebook是IPython项目的一个派生项目&#x…