【MySQL面试题pro版-3】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 【MySQL面试题pro版-3】


MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。

mysql使用规范你觉得都有什么?

  1. 合理存储引擎选择
  2. 合理选择字符集
  3. 表sql语句必须加注释
  4. 禁止使用存储过程、视图、触发器、event
  5. 禁用TEXT\BLOB,如果必须使用,不要和主表在一起。
  6. 禁止使用外键
  7. 遵循命名规范
  8. 使用域名链接数据库
  9. 注意单表列数,禁止大宽表
  10. 结合业务考虑

在建立索引的时,需要考虑哪些因素?

  1. 建立唯一索引。唯一索引能够更快速地帮助我们进行数据定位;
  2. 为经常需要进行查询操作的字段建立索引;
  3. 对经常需要进行排序、分组以及联合操作的字段建立索引;
  4. 在建立索引的时候,要考虑索引的最左匹配原则(在使用SQL语句时,如果where部分的条件不符合最左匹配原 则,可能导致索引失效,或者不能完全发挥建立的索引的功效);
  5. 不要建立过多的索引。因为索引本身会占用存储空间;
  6. 如果建立的单个索引查询数据很多,查询得到的数据的区分度不大,则考虑建立合适的联合索引;
  7. 尽量考虑字段值长度较短的字段建立索引,如果字段值太长,会降低索引的效率。

数据库的三范式

数据库的三范式是一系列设计原则,用于指导关系数据库的设计,以确保数据结构的合理性、减少冗余和提高数据的一致性。以下是具体介绍:

  1. 第一范式:要求表中的每一列(属性)都应该是原子性的,即数据不可再分,每个字段只包含单一的值。这有助于确保每一条记录都是独立的,避免出现多值或复杂类型字段的情况。
  2. 第二范式:在满足第一范式的基础上,要求表中的所有非主键列都必须完全依赖于主键,而不是依赖于主键的一部分。这意味着一个表只能包含一组相互独立的属性,从而避免了部分依赖的问题。
  3. 第三范式:在第二范式的基础上进一步规定,所有非主键列之间不能存在传递依赖,即一个非主键列不能依赖于另一个非主键列。如果存在这种情况,应该将相关字段拆分到单独的表中去。

总的来说,这些范式的核心目的是通过合理的设计来减少数据冗余,提高数据插入、更新和删除操作的效率,同时也使得数据库的结构更加清晰,便于维护和理解。在实际应用中,根据具体的业务需求和性能考虑,设计师可能会在这些范式的指导下做出适当的调整。

什么是mysq的三星索引

索引将相关的记录放到一起则获得一星;

如果索引中的数据顺序和查找中的排列顺序一致则获得二星;

如果索引中的列包含了查询中需要的全部列则获得三星;

mysql事务四大特性

  1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败。
  2. 持久性:当事务提交或回滚后,数据库会持久化的保存数据。
  3. 隔离性:多个事务之间。相互独立。
  4. 一致性:事务操作前后,数据总量不变
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
6月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
6月前
|
存储 关系型数据库 MySQL
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
|
4月前
|
关系型数据库 MySQL Java
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
|
11月前
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
6月前
|
存储 SQL 关系型数据库
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
|
6月前
|
SQL 存储 关系型数据库
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
|
10月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
8月前
|
消息中间件 NoSQL 关系型数据库
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
|
9月前
|
SQL 关系型数据库 MySQL
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
1.请解释什么是MVCC,它在数据库中的作用是什么? 2.在MySQL中,MVCC是如何实现的?请简述其工作原理。 3.MVCC是如何解决读-写和写-写冲突的? 4.在并发环境中,当多个事务同时读取同一行数据时,MVCC是如何保证每个事务看到的数据版本是一致的? 5.MVCC如何帮助提高数据库的并发性能?
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
|
10月前
|
存储 SQL 关系型数据库
MySQL 面试题
MySQL 的一些基础面试题
193 5

推荐镜像

更多