【java面试day19】mysql-优化

文章目录

    • 问题
      • [💬 Question 1](#💬 Question 1)
      • [💬 Question 2](#💬 Question 2)
      • [💬 Question 3](#💬 Question 3)
    • 相关知识

问题

💬 Question 1

Q :你有那些sql优化的经验呢?
A:sql的优化在项目中还是比较常见的,通常我们会从几个方面进行考虑,比如建表的时候,索引的创建和使用,sql语句的编写等等,对于读多写少的场景可以考虑主从复制、读写分离来提升性能,而对于数据量较大的情况可以通过分库分表来进行优化。

💬 Question 2

Q :在创建表的时候你们是如何优化的呢?
A:这个我们主要参考的是阿里巴巴开发手册《嵩山版》。在定义字段时,会结合实际业务场景选择合适的数据类型。比如数值型字段,会根据取值范围选择 tinyint、int 或 bigint;而对于字符串字段,如果是固定长度的就用 char,可变长度的用 varchar,如果内容较大则会考虑使用 text。

💬 Question 3

Q :你平时对sql做了那些优化呢?
A:这个优化的话还是有很多的,比如在查询时要明确指定字段,避免使用 SELECT *;在编写 SQL 时要注意避免写法导致索引失效。在做聚合查询时,能用 UNION ALL 就不要用 UNION,因为 UNION 会多一次去重操作,效率较低。在关联查询时,尽量使用 INNER JOIN,少用 LEFT JOIN 和 RIGHT JOIN,如果必须使用,也要尽量让小表去驱动大表,以减少数据扫描量。

相关知识

mysql相关知识

相关推荐
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
来杯@Java2 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
卷毛的技术笔记3 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥3 小时前
匿名函数 lambda + 高阶函数
java·python·算法
東雪木3 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
Cosolar3 小时前
从零写一个 Attention Is All You Need
人工智能·面试·架构
adrninistrat0r3 小时前
Java调用链MCP分析工具
java·python·ai编程
噜噜噜阿鲁~4 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
春生野草4 小时前
反射、Tomcat执行
java·开发语言
键盘上的猫头鹰5 小时前
【MySQL 教程(八)】索引、事务、用户管理、导入导出与分页查询
数据库·python·mysql