知识点标签

数据库面试题解析第 2 页

数据库基础相关面试题,覆盖索引、事务、缓存协同和一致性。

69 道题 8 个岗位 9 个公司

数据库相关面试题第 2 页

数据库索引的作用?

数据库索引的作用?这道腾讯牛客题的关键是围绕“数据库索引的作用”讲清概念、机制、取舍和边界。数据库索引的作用是为查询提供更高效的访问路径,减少全表扫描。它可以加速等值查询、范围查询、排序、分组和连接条件,在覆盖索引场景下还能减少回表。

索引是如何实现的?

索引是如何实现的?这道腾讯牛客题的关键是围绕“MySQL 索引实现与 B+ 树”讲清概念、机制、取舍和边界。MySQL InnoDB 索引主要基于 B+ 树实现。B+ 树的非叶子节点保存 key 和子页指针,叶子节点保存完整行或主键值,并按 key 有序链接,适合等值查询、范围查询和排序扫描。

MySQL 索引常用什么数据结构实现?

MySQL 索引常用什么数据结构实现?这道腾讯牛客题的关键是围绕“MySQL 索引实现与 B+ 树”讲清概念、机制、取舍和边界。MySQL InnoDB 索引主要基于 B+ 树实现。B+ 树的非叶子节点保存 key 和子页指针,叶子节点保存完整行或主键值,并按 key 有序链接,适合等值查询、范围查询和排序扫描。

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?

为什么数据库索引常用 B+ 树,B 树、B+ 树和二叉树有什么区别?这道腾讯牛客题的关键是围绕“数据库索引为什么常用 B+ 树”讲清概念、机制、取舍和边界。数据库索引常用 B+ 树,是因为它适合磁盘页和范围查询。B+ 树分叉多、树高低,非叶子节点只存 key 和子页指针,叶子节点顺序保存数据或主键并通过链表相连,能减少随机 I/O 并高效范围扫描。

数据库索引有哪些常见类型,它们有什么区别?

数据库索引有哪些常见类型,它们有什么区别?这道腾讯牛客题的关键是围绕“数据库索引类型”讲清概念、机制、取舍和边界。数据库索引类型可以按约束和结构分类:主键索引、唯一索引、普通索引、联合索引、前缀索引、全文索引、空间索引;InnoDB 还要区分聚簇索引和二级索引。

如何判断 SQL 查询是否发生索引失效?

如何判断 SQL 查询是否发生索引失效?这道腾讯牛客题的关键是围绕“SQL 索引失效判断”讲清概念、机制、取舍和边界。判断索引是否失效,核心看 EXPLAIN 或 EXPLAIN ANALYZE:possible_keys 有候选但 key 为空、type 退化为 ALL/index、rows 明显变大、filtered 很低、Extra 出现 Using filesort/Using temporary,通常说明没有按预期用上索引或扫描代价过高。

数据库性能优化通常从哪些方向入手?

数据库性能优化通常从哪些方向入手?这道腾讯牛客题的关键是围绕“数据库性能优化方向”讲清概念、机制、取舍和边界。数据库性能优化要从定位、SQL/索引、表结构、事务锁、连接池、缓存、架构扩展和硬件参数多层看。先用慢查询日志、监控和执行计划定位瓶颈,再决定是改 SQL、加索引、拆表、调连接池还是做缓存/读写分离。

关系型数据库和非关系型数据库有什么区别?

关系型数据库和非关系型数据库有什么区别?这道腾讯牛客题的关键是围绕“关系型数据库与 NoSQL 对比”讲清概念、机制、取舍和边界。关系型数据库强调结构化 schema、SQL、表关系、Join 和 ACID 事务,典型如 MySQL/PostgreSQL;非关系型数据库按模型分为 KV、文档、列族、图数据库等,更强调灵活 schema、水平扩展和特定访问模式。

Redis 主从复制的原理是什么?

Redis 主从复制的原理是什么?这道腾讯牛客题的关键是围绕“Redis 主从复制原理”讲清概念、机制、取舍和边界。Redis 主从复制通过从节点向主节点发起 PSYNC,同步主节点数据和后续命令流。首次或断点不可用时做全量同步,主节点生成 RDB 发送给从节点;断线重连且 backlog 足够时可做部分重同步。

Redis 访问变慢时如何排查和优化?

Redis 访问变慢时如何排查和优化?这道腾讯牛客题的关键是围绕“Redis 访问变慢排查”讲清概念、机制、取舍和边界。Redis 变慢要按客户端、网络、Redis 命令、数据结构、内存、持久化和系统资源逐层排查。不能只说扩容或加机器,先要确认慢在连接、排队、执行、返回还是下游依赖。

数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?

数据库中如何使用 MD5 哈希存储字段?有哪些安全风险?这道腾讯牛客题的关键是围绕“数据库字段 MD5 哈希存储风险”讲清概念、机制、取舍和边界。MD5 是确定性哈希,不是加密。数据库中可用 MD5 存储某些字段的摘要用于去重或脱敏匹配,但不能用于安全保存密码,因为 MD5 快、可暴力破解,并且存在碰撞和彩虹表风险。

Redis 的底层数据结构有哪些?跳表是如何实现的?

Redis 的底层数据结构有哪些?跳表是如何实现的?这道腾讯牛客题的关键是围绕“Redis 数据结构与底层编码”讲清概念、机制、取舍和边界。Redis 常用对外数据结构包括 String、List、Hash、Set、ZSet、Bitmap、HyperLogLog、Geo 和 Stream。回答时还要区分对外类型和底层编码,例如 SDS、listpack、quicklist、dict、intset 和 skiplist。

什么是聚簇索引?

什么是聚簇索引?这道腾讯牛客题的关键是围绕“InnoDB 聚簇索引”讲清概念、机制、取舍和边界。聚簇索引是数据行按索引顺序存储的索引结构。在 InnoDB 中,主键索引通常就是聚簇索引,叶子节点保存完整行数据;二级索引叶子节点保存二级索引列和主键值。

SQL 语句执行效率低时,如何分析并优化?

SQL 语句执行效率低时,如何分析并优化?这道腾讯牛客题的关键是围绕“SQL 查询优化与索引失效判断”讲清概念、机制、取舍和边界。SQL 慢或大批量查询要按定位、解释、改写、验证的流程处理:先从慢查询日志定位 SQL,再用 EXPLAIN/EXPLAIN ANALYZE 看访问类型、索引、扫描行数、回表、排序和临时表。