随笔分类 -  面试题

常见面试题,当备忘录查看
摘要:在数据库中,视图(View)是一种虚拟的表,它是通过查询从一个或多个基本表中派生出来的结果集。视图并不实际存储数据,而是存储SQL查询,查询的结果会在视图被调用时动态生成。视图的作用类似于一个存储的查询,可以简化复杂的查询操作,提供数据的安全性,并且可以为用户提供定制化的视图。 视图的特点: 虚拟表 阅读全文
posted @ 2024-12-15 17:25 Eiffelzero 阅读(85) 评论(0) 推荐(0) 编辑
摘要:在MySQL中存储金额数据时,最推荐使用 DECIMAL 类型(有时也叫做 NUMERIC)。DECIMAL 类型是一种精确的数字类型,适合存储具有小数位的金额数据,因为它不会像浮点数类型那样受到精度丢失的问题。 DECIMAL 类型的优点: 高精度:DECIMAL 类型能够精确存储货币值,避免浮动 阅读全文
posted @ 2024-12-15 17:22 Eiffelzero 阅读(426) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,AUTO_INCREMENT列用于自动生成唯一的数字值,通常用于主键。当AUTO_INCREMENT列达到最大值时,会发生以下几种情况,具体取决于列的数据类型以及MySQL的配置。 对于 TINYINT 类型: 最大值:TINYINT的最大值为 127(有符号)或 255(无符号)。 阅读全文
posted @ 2024-12-15 17:19 Eiffelzero 阅读(113) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,TEXT类型用于存储较长的文本数据。TEXT类型的最大存储长度取决于表的字符集和存储引擎。具体来说,TEXT类型的最大存储长度为: TEXT:最大存储 65,535 字节(约 64 KB)。这意味着可以存储大约 65,535 个字符,具体取决于所使用的字符集。例如,使用UTF-8字符 阅读全文
posted @ 2024-12-15 17:17 Eiffelzero 阅读(1007) 评论(0) 推荐(0) 编辑
摘要:数据库的三大范式是关系数据库设计中用于规范化数据结构的三种主要规则,它们分别是: 第一范式 (1NF):原子性 每个字段中的值必须是原子值(不可再分的基本数据项),即每个字段只能存储单一的、不可分割的值。 例如,不能将多个电话号码存储在一个字段中,而是应该将它们拆分为多个记录或字段。 举例: 错误的 阅读全文
posted @ 2024-12-15 17:15 Eiffelzero 阅读(74) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,DATETIME和TIMESTAMP都是用于存储日期和时间的类型,但它们有一些关键的区别: 1. 存储方式和范围 DATETIME: 存储的日期和时间值是以“年-月-日 时:分:秒”的格式表示。 存储格式:DATETIME存储的是固定的日期和时间信息,不受时区的影响。 范围:DATE 阅读全文
posted @ 2024-12-15 17:11 Eiffelzero 阅读(125) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,LIMIT 100000000, 10和LIMIT 10的执行速度通常不会相同。它们的差异在于如何处理数据的检索。 LIMIT 10: LIMIT 10表示从查询结果中获取前10条记录。 MySQL会从结果集的开头开始检索并返回前10条数据,通常情况下,它的执行速度较快,尤其是在数据 阅读全文
posted @ 2024-12-15 17:07 Eiffelzero 阅读(92) 评论(0) 推荐(0) 编辑
摘要:在MySQL中,INNER JOIN、LEFT JOIN和RIGHT JOIN是用于连接两个或多个表的操作符,它们的主要区别在于如何处理匹配的记录和不匹配的记录。 INNER JOIN: 只返回两个表中匹配的记录。 如果在左表和右表中找不到匹配的行,那么这些行将不会出现在结果集中。 语法: SELE 阅读全文
posted @ 2024-12-15 17:06 Eiffelzero 阅读(92) 评论(0) 推荐(0) 编辑
摘要:MySQL 中 DELETE、DROP 和 TRUNCATE 的区别 在 MySQL 中,DELETE、DROP 和 TRUNCATE 都是常用于删除数据的操作,但它们在功能、性能、用途和实现方式上有所不同。下面是这三者的区别: 1. DELETE 作用:DELETE 用于删除表中的一行或多行数据, 阅读全文
posted @ 2024-12-15 17:00 Eiffelzero 阅读(115) 评论(0) 推荐(0) 编辑
摘要:如何在 MySQL 中监控和优化慢 SQL? 在 MySQL 中,慢 SQL 查询是指那些执行时间较长的查询,通常会影响数据库的性能和响应时间。通过监控和优化这些慢 SQL 查询,可以提高数据库的效率和用户体验。以下是监控和优化慢 SQL 查询的步骤和方法。 1. 启用慢查询日志 MySQL 提供了 阅读全文
posted @ 2024-12-15 16:55 Eiffelzero 阅读(235) 评论(0) 推荐(0) 编辑
摘要:MySQL 中如何解决深度分页的问题? 在 MySQL 中,深度分页是指查询数据时,用户请求的是数据集中的较后部分,而不是从头开始的数据。这类分页查询常见于有大量数据的系统中,当页数很大时,查询效率会显著下降。 深度分页的性能问题 深度分页的主要性能瓶颈在于 OFFSET 和 LIMIT。随着页数的 阅读全文
posted @ 2024-12-15 16:51 Eiffelzero 阅读(229) 评论(0) 推荐(0) 编辑
摘要:为什么在 MySQL 中不推荐使用多表 JOIN? 在 MySQL 中,虽然 JOIN 操作是关系型数据库的重要特性,用于从多个表中获取数据,但在某些场景下不推荐频繁使用多表 JOIN。以下是一些主要原因: 1. 性能问题 查询效率低下:当涉及多个表进行 JOIN 操作时,MySQL 需要执行多次扫 阅读全文
posted @ 2024-12-15 16:47 Eiffelzero 阅读(89) 评论(0) 推荐(0) 编辑
摘要:MySQL 中的 Log Buffer 是什么?它有什么作用? Log Buffer 是 MySQL InnoDB 存储引擎的一部分,用于存储写入日志数据的内存区域。它主要用于记录事务的变更日志,这些日志会被后续刷写到磁盘的日志文件中(ib_logfile)。 Log Buffer 的工作原理 日志 阅读全文
posted @ 2024-12-15 15:01 Eiffelzero 阅读(68) 评论(0) 推荐(0) 编辑
摘要:MySQL 的 Doublewrite Buffer 是什么?它有什么作用? Doublewrite Buffer 是 InnoDB 存储引擎的一种机制,旨在提高数据的安全性,防止在写入磁盘时发生崩溃导致数据损坏。它通过将数据先写入内存中的一个缓冲区,再写入磁盘,从而确保数据一致性。 Doublew 阅读全文
posted @ 2024-12-15 15:00 Eiffelzero 阅读(37) 评论(0) 推荐(0) 编辑
摘要:从 MySQL 获取数据,是从磁盘读取的吗?(Buffer Pool) 在 MySQL 中,数据是否从磁盘读取取决于数据是否已经被加载到内存中。MySQL 使用 InnoDB 存储引擎 中的 Buffer Pool 来优化磁盘 I/O,减少从磁盘读取数据的次数,提高查询性能。 Buffer Pool 阅读全文
posted @ 2024-12-15 15:00 Eiffelzero 阅读(22) 评论(0) 推荐(0) 编辑
摘要:对数据库进行分库分表可能会引发的问题 虽然分库分表是一种有效的扩展数据库和提升性能的策略,但在实际应用中,分库分表也可能引发一些问题和挑战。以下是分库分表可能会引发的主要问题: 1. 跨库查询复杂性 分库分表后,数据被拆分到多个数据库和表中,导致跨库查询变得非常复杂: 多表连接:在多个表中进行 JO 阅读全文
posted @ 2024-12-15 14:59 Eiffelzero 阅读(79) 评论(0) 推荐(0) 编辑
摘要:什么是分库分表? 分库分表是一种常用的数据库架构设计策略,用于处理数据量过大,单一数据库无法承载的情况。通过将数据分散存储到多个数据库或多个数据表中,分库分表能够有效提高数据库的扩展性、性能和可维护性。其主要目的是提升查询效率,减轻单个数据库的负载,确保系统的高可用性和高性能。 分库分表的目标: 提 阅读全文
posted @ 2024-12-15 14:57 Eiffelzero 阅读(155) 评论(0) 推荐(0) 编辑
摘要:如何处理 MySQL 的主从同步延迟? MySQL 的主从同步延迟通常是由主库与从库之间的网络延迟、从库的处理能力、主库的写操作量等因素导致的。长时间的同步延迟可能会影响系统的稳定性和数据一致性。以下是几种处理和减少 MySQL 主从同步延迟的方法。 1. 优化主库性能 确保主库的写操作能够高效地进 阅读全文
posted @ 2024-12-15 14:55 Eiffelzero 阅读(306) 评论(0) 推荐(0) 编辑
摘要:什么是 MySQL 的主从同步机制?它是如何实现的? MySQL 的主从同步机制是一种将主数据库(Master)上的数据实时或接近实时地同步到从数据库(Slave)的机制。通过这种机制,从数据库可以获取到主数据库的数据更新并进行复制,从而实现数据的冗余备份、负载均衡和高可用性。 主从同步机制的工作原 阅读全文
posted @ 2024-12-15 14:51 Eiffelzero 阅读(105) 评论(0) 推荐(0) 编辑
摘要:如何在 MySQL 中实现读写分离? 在 MySQL 中实现读写分离主要目的是为了提升数据库的性能和扩展性,将读请求和写请求分配到不同的服务器上,减轻主数据库的压力。通常,写请求会发送到主库,而读请求会发送到从库。这样可以通过负载均衡和读写分离技术来提升系统的吞吐量。 1. 主从复制架构 读写分离通 阅读全文
posted @ 2024-12-15 14:50 Eiffelzero 阅读(384) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示