后端每日十道面试题(十二)

【Java面试题汇总】MySQL数据库篇(2026版) 聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优 阅读详情

目录

1.mybatis 有几种分页方式?

2.mybatis 逻辑分页和物理分页的区别是什么?

3.说一下 mybatis 的一级缓存和二级缓存?

4.数据库的三范式是什么?

5. char 和 varchar 的区别是什么?

6. mysql 的内连接、左连接、右连接有什么区别?

7.说一下 mysql 的行锁和表锁?

8. 说一下乐观锁和悲观锁?

9. 如何做 mysql 的性能优化?

10. like %和-的区别


1.mybatis 有几种分页方式?

数组分页
sql分页
拦截器分页
RowBounds分页

2.mybatis 逻辑分页和物理分页的区别是什么?

物理分页速度上并不一定快于逻辑分页,逻辑分页速度上也并不一定快于物理分页。
物理分页总是优于逻辑分页:没有必要将属于数据库端的压力加诸到应用端来,就算速度上存在优势,然而其它性能上的优点足以弥补这个缺点。

3.说一下 mybatis 的一级缓存和二级缓存?

一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就将清空,默认打开一级缓存。

二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap 存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。默认不打开二级缓存,要开启二级缓存,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置 ;

4.数据库的三范式是什么?

第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。
第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。
第三范式:任何非主属性不依赖于其它非主属性。

5. char 和 varchar 的区别是什么?

char(n) :固定长度类型

varchar(n) :可变长度

6. mysql 的内连接、左连接、右连接有什么区别?

内连接关键字:inner join;左连接:left join;右连接:right join。

内连接是把匹配的关联数据显示出来;左连接是左边的表全部显示出来,右边的表显示出符合条件的数据;右连接正好相反。

7.说一下 mysql 的行锁和表锁?

MyISAM 只支持表锁,InnoDB 支持表锁和行锁,默认为行锁。

表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量最低。
行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高。

8. 说一下乐观锁和悲观锁?

乐观锁:每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。
悲观锁:每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻止,直到这个锁被释放。

9. 如何做 mysql 的性能优化?

为搜索字段创建索引。
避免使用 select *,列出需要查询的字段。
垂直分割分表。
选择正确的存储引擎。

10. like %和-的区别

通配符的分类:

%百分号通配符:表示任何字符出现任意次数(可以是0次).

_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符.

like操作符: LIKE作用是指示mysql后面的搜索模式是利用通配符而不是直接相等匹配进行比较.

mysql下float类型使用一些误差详解 单精度浮点数用4字节(32bit)表示浮点数采用IEEE754标准的计算机浮点数,在内部是用二进制表示的如:7.22用32位二进制是表示不下的。所以就不精确了。mysql中float数据类型的问题总结  对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到更精确的数据。 1.float类型float列类型默认长度查不到结果,必须指定精度,比如 num  f 立即下载

相关推荐

奇异值分解(SVD)C++实现

奇异值分解SVD(紧奇异值分解,截断奇异值分解)C++实现

weixin_45804601的博客 4171

mysql float 多少位_mysql float 默认长度

内容整理如下:1,整型:TINYINT 1 字节SMALLINT 2 个字节MEDIUMINT 3 个字节INT 4 个字节INTEGER 4 个字节BIGINT 8 个字节2,浮点型:FLOAT(X) 4 如果 X < = 24 或 8 如果 25 < = X < = 53FLOAT 4 个字节DOUBLE 8 个字节DOUBLE PRECISION 8 个字节REAL 8 个...

weixin_32550525的博客 5825

37张图详解MAC地址、以太网、二层转发、VLAN

MAC 地址 每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。 MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。 现在可以通过软件修改 MAC 地址,虚拟机使用物理机网卡的 MAC 地址,并不能保.

networktp的博客 4744

关于MySQL的数据类型

数据库MySQL中的float类型再Navicat中建立的时候指定的长度为4和小数点为2的实际意义是: 整数部分为(长度-小数点)位,小数部分为(小数点)位,再以下图片中分别是2和2。这个时候插入以下数值时的表现: 插入0,不会报错,数据存储为0.00 插入2 不会报错,数据存储为2.00 插入2.1 不会报错,数据存储为2.10 插入2.34 不会报错,数据存储为2.34 插入2.34567 不会报错,数据存储为2.35 插入23.1不会报错,数据存储为23.10 插入234.1 会报错。 因此,总结为

Jack·Kwok的博客 1385

手把手教你用树莓派蓝牙抓取小米温湿度计2代数据,接入HomeAssistant(附密钥获取避坑指南)

本文详细介绍了如何通过树莓派蓝牙抓取小米温湿度计2代数据并接入HomeAssistant的完整流程。重点解析了获取32位加密密钥的三种方法,包括使用Telink Flasher工具、米家APP抓包和开源工具ATC_MiThermometer,并提供了HomeAssistant集成配置和常见问题排查指南,帮助用户实现稳定可靠的温湿度监测。

一名菜鸟攻城师 776

【智能体评测】BrowserUse:一款超越 Anthropic Computer Use 的开源智能体

本文将全面介绍 BrowserUse 的核心功能、配置与使用方法,以及通过多场景测试评估其性能。

surfirst的博客 4093

MySQL中float、double、decimal三个浮点类型的区别与总结!

那么多浮点用哪个?

极客小俊 1万+

node-red 可视化探索

配置socket选择配置流程产生url。

weixin_44133581的博客 3411

mysql中的double类型_MySQL中float、double、decimal三个浮点类型的区别与总结!

作者:极客小俊 一个专注于web技术的80后我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人!优快云@极客小俊,原创文章, B站技术分享个人博客: cnblogs.com前端html+css+javascript技术讨论交流群: 281499395后端php+mysql+Linux技术交流群: 855256321下表中规划了每个浮点类型的存储大小和范围:类型大小范围(...

weixin_39793420的博客 3625

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-单端信号

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的单端拓扑进行说明,以下图为例,准备好发送接收端的IBIS模型, (ibis_se.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 413

MySQL数据库float数据类型

怎么在mysql中使用float类型,特别是用到金钱时我们可能会用双精度来做,我们知道mysql的float类型是单精度浮点类型不小心就会导致数据误差 对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是do

xiaoxiaohui520134的博客 3万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

MySQL字段类型

DOUBLE:8 字节,双精度浮点数,范围为 -1.7976931348623157E+308 到 -2.2250738585072014E-308,0,2.2250738585072014E-308 到 1.7976931348623157E+308。TIMESTAMP:自动存储记录插入或更新的日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。DATETIME:日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。DATE:日期,格式为 'YYYY-MM-DD'。

你好 494

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

mysql中的数据类型总结

一、数据类型 二、数值类型 三、越界检验 在mysql中,整形可以指定为有符号和无符号的,默认是有符号的; 所以插入数值128时出现了越界错误。 我们可以通过UNSIGNED来说明某个字段是无符号的。 示例如下: 四、关于UNSIGNED 首先我们来看一个例子,先建立一个表: 现在若执行a-b会有什么结果呢?会得到-1吗?我们来验证一下: 结果出错了...

everthing willl be ok 500

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql 修改float 长度_JAVA面试必会知识点「mysql部分」

目录JAVA面试必会知识点JAVA面试必会知识点「容器部分」JAVA面试必会知识点「JVM部分」一:数据库的三范式1. 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。2. 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。3. 第三范式:任何非主属性不依赖于其它非主属性。二:ACID 是什么1. Atomicity(原子性)...

weixin_35432846的博客 354

mysql类型转换字符长度_[转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】...

你看到的这个文章来自于http://www.cnblogs.com/ayanmw转载自:http://blog.csdn.net/daydreamingboy/article/details/6310907分析MySQL数据类型的长度MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Leng...

weixin_31597759的博客 443

java面试题之-数据库篇(持续更新)

文章目录提前预知MySQL基础01、MySQL有哪些数据类型?02、char 和 varchar 的区别是什么?03、binary 和 varbinary的区别?04、MySQL中myisam与innodb的区别?05、MySQL建表的约束条件有哪些?06、 数据库的三范式是什么?07、超键、候选键、主键、外键分别是什么?08、MySQL中 in 和 exists 区别09、 drop、delete与truncate的区别10、什么是存储过程?有哪些优缺点?11、MySQL 执行查询的过程MySQL事务01

3519

【Java高频面试问题】数据库篇

‌方向‌‌关键点‌‌底层原理‌B+Tree 结构优势、聚簇索引/二级索引区别、回表机制‌优化策略‌最左前缀原则、覆盖索引、索引失效场景规避、EXPLAIN 分析‌架构设计‌读写分离、分库分表、冷热数据分离‌问题排查‌慢查询日志定位、PROFILE 分析、索引使用监控终极建议‌:结合业务场景设计索引(高频查询字段优先),避免过度索引;所有优化需通过 EXPLAIN 验证‌方法‌‌核心思想‌‌优势‌‌劣势‌‌锁机制‌强制串行访问强一致性,实现简单死锁风险,并发度低‌时间戳排序。

weixin_45698637的博客 1406

分析MySQL数据类型的长度

<br />分析MySQL数据类型的长度<br />      MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。<br />      然而,这些

DayDreamingBoy的专栏 3万+

mysql中数据类型的长度

一、varchar(n)、char(n)中的n的含义1)varchar(m),char(n)里面的m或n代表的是字符的个数。打开mysql手册,看到这样一句话 The CHAR and VARCHAR types are declared with a length that indicates the maximum number of  characters  you want to stor...

yoyofu007的博客 1万+

MySQL学习日志------数据类型1(string、int、float、boolean、mnum、set、time、blob)

字符串类型 CHAR(n) # 固定数据长度 VARCHAR(n) # max:65535 (64KB) MEDIUMTEXT # max:16MB LONGTEXT # max:4GB TINYTEXT # max:255bytes TEXT # max:64KB 类似VARCHAR但一般使用后者 后者可以编入索引 # 注意: # 英文占用1个字节, # 欧洲与中东语言占2个字节, # 亚洲语言(中文、日文等)占用3个字节 整数类型 TINYINT # 1B -128~127 UNSIGNED TI

m0_57011532的博客 338

mysql类型float_Mysql数据类型---FLOAT

标签(空格分隔): MYSQLMYSQL版本:MYSQL5.7基本语法FLOAT(浮点类型)用来存储很大或很小的值。这可能是由小数点前的30位、100位或者更多位组成的数字,或者小数点后拥有很多位的数字。考虑那些小数点后的位数为无限多的数值,例如众所周知的圆周率,1/3。然而对于一个浮点类型可用的存储空间有限,有时候无法存储真正的数值。如果一个数值非常大或非常小,将会存储一个近似值。这就是为什么有...

weixin_27645199的博客 2万+

mysql 各数据类型的大小及长度

数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了

norang的博客 2万+
上一篇: 后端每日十首面试题(十一)
下一篇: 多表联查的复习
new 杨海波
博客等级 码龄6年 497粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值