news 2026/4/16 19:54:48

华为OD技术面真题 - 数据库MySQL - 3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD技术面真题 - 数据库MySQL - 3

文章目录

  • CHAR和VARCHAR的区别
  • VARCHAR(100)和 VARCHAR(10)的区别是什么?
  • 表级锁和行锁的区别
  • 共享锁和排他锁的区别
  • DATETIME 和 TIMESTAMP 的区别是什么?如何选择?

CHAR和VARCHAR的区别

CHAR 和 VARCHAR 是最常用到的字符串类型,两者的主要区别在于:CHAR 是定长字符串,VARCHAR 是变长字符串。

  • CHAR:存储时会在右边填充空格以达到指定的长度,检索时会去掉空格。CHAR 更适合存储长度较短或者长度都差不多的字符串
  • VARCHAR:存储时需要使用 1 或 2 个额外字节记录字符串的长度,检索时不需要处理。适合存储长度不确定或者差异较大的字符串.

CHAR(N) 和 VARCHAR(N) 的 N 都代表能够保存的字符数的最大值,无论是字母、数字还是中文,每个都只占用一个字符。

VARCHAR(100)和 VARCHAR(10)的区别是什么?

VARCHAR(100)VARCHAR(10)的本质区别是:能存储的字符最大长度不同。VARCHAR是变长存储,实际占用空间 = 真实字符长度 + 长度标记,虽然两个存储的字符数范围不同,但二者存储相同的字符串,所占用磁盘的存储空间其实是一样的。

表级锁和行锁的区别

  • 表级锁:MySQL 中锁定粒度比较大的一种锁,出现在针对非索引字段加的锁或存储引擎不支持行锁加锁的情况。对当前操作的整张表加锁,实现简单,资源消耗也比较少,加锁快,不会出现死锁。不过,触发锁冲突的概率最高,高并发下效率极低。表级锁和存储引擎无关,MyISAM 和 InnoDB 引擎都支持表级锁。
  • 行级锁:MySQL 中锁定粒度最小的一种锁,是针对索引字段加的锁,只针对当前操作的行记录进行加锁。 行级锁能大大减少数据库操作的冲突。其加锁粒度最小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。行级锁和存储引擎有关,是在存储引擎层面实现的。MyISAM不支持行锁,InnoDB支持行锁。

共享锁和排他锁的区别

  • 共享锁:又称读锁,事务在读取记录的时候获取共享锁,允许多个事务同时对同一记录加共享锁。共享
  • 排他锁:又称互斥锁/写锁,事务在修改记录的时候获取排他锁,不允许多个事务同时获取。如果一个记录已经被当前加了排他锁,那其他事务不能再对这条事务加任何类型的锁(锁不兼容)。排他

注意:一条记录已经被当前事务加了共享锁(S 锁),其他事务是不能再加排他锁(X 锁)的。

使用共享锁/排他锁示例

# 共享锁 SELECT ... LOCK IN SHARE MODE; # 排他锁 SELECT ... FOR UPDATE;

DATETIME 和 TIMESTAMP 的区别是什么?如何选择?

核心区别对比:

维度DATETIMETIMESTAMP
存储空间8 字节4 字节
是否受时区影响
取值范围1000-01-01 ~ 9999-12-311970-01-01 ~ 2038-01-19
存储内容字面时间UTC 时间戳
是否自动更新(需显式设置)(可配置)

使用场景:
DATETIME适用场景:

  • 需要存储大于2038年的时间
  • 不关注时区,不期望时区变化

TIMESTAMP适用场景:

  • 需要关注多时区时间转换。
  • 希望数据库能自动管理时区转换
  • 不超过TIMESTAMP存储范围。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 19:51:55

大数据时序分析,这些要点你掌握了吗?

大数据时序分析,这些要点你掌握了吗? 一、引言 在当今数字化时代,数据如潮水般涌来,其中大量数据都具有时间序列的特性。从金融市场的股价波动、物联网设备产生的传感器数据,到气象监测中的温度变化等,这些按时间顺序排列的数据蕴含着丰富的信息,对其进行有效的分析能…

作者头像 李华
网站建设 2026/4/16 15:31:31

YOLO26涨点改进 | 全网独家创新、细节涨点改进篇 | SCI 一区 2025 | 引入RHDWT残差离散小波变换,下采样创新改进,助力目标检测、图像分类、实例分割有效涨点

一、本文介绍 本文给大家介绍使用 Residual Haar Discrete Wavelet Transform (RHDWT) 模块与 YOLO26 结合,能够显著提升目标检测的效果,尤其是在处理带有条纹噪声或复杂背景的图像时。RHDWT模块通过结合条纹噪声的方向性先验与数据驱动的特征交互,增强了图像的特征表示,去…

作者头像 李华
网站建设 2026/4/16 11:09:02

【课程设计/毕业设计】基于Spring Boot的优质农产品直卖平台的设计与实现基于springboot的农户农产品管理与销售APP的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 12:28:29

计算机Java毕设实战-基于java+springboot的农产品管理与销售APP的基于springboot的农产品管理与销售APP的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/16 16:13:10

Java毕设选题推荐:基于springboot的农产品管理与销售APP的设计与实现基于Spring Boot的农产品直售平台app的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华