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

java面试题准备

mysql

MySQL优化

优化顺序的核心逻辑:
从 “不改变架构、低成本见效” 到 “调整架构、高成本投入”,逐步解决问题:
1. 先用最小可行类型对字段类型进行处理:比如状态字段用 TINYINT(0-255)而非 INT,手机号用 CHAR(11) 而非 VARCHAR(固定长度更高效),时间用 DATETIME/TIMESTAMP 而非字符串;
2. 再对大字段冗余进行处理:比如长文本(如文章内容、JSON 数据)拆到子表,主表仅保留查询高频字段(ID、标题、时间等);
3. 默认值用空字符串(文本)或 0(数字)来代替NULL;
4. 对高频查询条件创建索引或联合索引、清除冗余索引、控制索引数量;
5. 开启慢查询日志和用 EXPLAIN 分析 SQL来获取低效语句及其信息,
6. 再通过避免 SELECT *、减少 JOIN 表数量、避免 OR 和 NOT IN来进行SQL语句优化
7. 优化 MySQL 关于内存、写入性能、并发控制的配置;
8. 用主库负责写入、从库负责查询,通过 MySQL 主从复制同步数据;
9. 用 Redis 缓存高频查询结果,设置合理过期时间;
10. 优化磁盘、内存、CPU、网络

记录货币用什么字段类型好

推荐方案:使用 DECIMAL 类型
DECIMAL 是定点数类型,能够精确存储小数,适合表示货币等需要高精度的数据。

CHAR 和VARCHAR 的区别

在数据库中,CHAR 和 VARCHAR 都是用于存储字符串类型数据的字段类型;

1. 存储方式
CHAR(n):固定长度存储。即使实际存储的字符串长度小于定义的 n,也会占用 n 个字符的存储空间(不足的部分会用空格填充)
VARCHAR(n):可变长度存储。仅占用实际字符串长度 + 1-2 个字节(用于记录字符串长度)的存储空间,不会浪费额外空间。

2. 长度限制
两者通常都需要指定一个最大长度 n(不同数据库的最大值可能不同,如 MySQL 中最大为 65535)。
CHAR(n) 中 n 表示固定占用的字符数;VARCHAR(n) 中 n 表示允许存储的最大字符数

3. 性能差异
CHAR 由于长度固定,读取和写入速度更快,适合存储长度固定的数据(如身份证号、手机号、性别等)
VARCHAR 由于长度可变,需要额外计算长度,性能略低,但能节省存储空间,适合存储长度不固定的数据(如姓名、地址、描述等)。

4. 空格处理
CHAR 会自动去除尾部的空格(部分数据库行为);VARCHAR 会保留尾部的空格。CHAR 的自动去空格:保障固定格式数据的一致性;VARCHAR 的保留空格:精确存储原始输入的意义。

http://www.dtcms.com/a/326751.html

相关文章:

  • 【k近邻】Kd树的构造与最近邻搜索算法
  • 线程池知识点总结
  • Spring Cloud Gateway 路由与过滤器实战:转发请求并添加自定义请求头(最新版本)
  • 【QT】UI 开发全攻略:打造专业级跨平台界面
  • Android14 QS编辑页面面板的加载解析
  • 梯度裁剪总结
  • Python Day27 HTML 核心知识笔记及例题分析
  • 09-docker镜像手动制作
  • PG靶机 - Flu
  • 常见鱼饵制作方式
  • 在 X86_64(amd64) 平台上的docker支持打包构建多环境镜像并推送镜像到Harbor
  • AI Coding 概述及学习路线图
  • uploader组件,批量上传怎么设置实时滚动
  • Anti-Aliasing/Mip-NeRF/Zip-NeRF/multi-scale representation
  • 2.一维码+二维码+字符识别
  • OpenHarmony概述与使用
  • 基于大数据的个性化学习环境构建的研究与应用
  • Java前后端交互核心技术:Servlet与JSP深度解析
  • 【Altium designer】一键给多个器件添加参数
  • 2025年渗透测试面试题总结-13(题目+回答)
  • 如何选择一家靠谱的开发公司开发项目呢?
  • sql select语句
  • Python 高阶函数:filter、map、reduce 详解
  • WebMCP 技术文档——让 AI 助手与 Web 应用无缝交互的轻量级框架
  • 基于cursor工具与AI大模型,规范驱动的全自然语言软件开发工作流实现路径
  • 导入CSV文件到MySQL
  • webpark》》
  • STM32CubeMX + HAL 库:用硬件IIC接口实现AT24C02 EEPROM芯片的读写操作
  • Kubernetes部署apisix的理论与最佳实践(一)
  • 【OpenGL】LearnOpenGL学习笔记06 - 坐标系统、MVP变换、绘制立方体