数据库 20 / 255 题
Mysql数据如何修复或迁移
数据修复分场景: 误删行用 Binlog 时间点恢复(全量备份 + mysqlbinlog 重放); 误删表/库只能全量 + Binlog 恢复,没备份就完了; InnoDB 崩溃恢复自动完成(Redo 重做已提交,Undo...
Mysql数据如何备份
MySQL 备份分逻辑备份和物理备份两大类。逻辑备份: mysqldump 最常用,加 --single-transaction 实现 InnoDB 热备,导出 SQL 文件,适合小库; mydumper...
MySQL 有哪些锁?
MySQL 锁按粒度分三种:全局锁(锁整个库,用于备份)、表级锁(表锁 + MDL 元数据锁)、行级锁(InnoDB 支持,最重要)。行锁三种算法: 记录锁(锁索引记录本身)、 间隙锁(锁记录之间的间隙,防幻读)、 临键锁 =...
Mysql四大隔离级别
MySQL 四大隔离级别:读未提交 → 读已提交 → 可重复读 →...
mysql readview是啥
Read View...
mysql redo日志是啥
Redo Log 是 InnoDB 的物理日志,记录数据页修改,用于崩溃恢复,保证持久性。核心机制是 WAL(先写日志再写磁盘),事务提交时根据 innodb_flush_log_at_trx_commit...
mysql undo日志|new
Undo Log 是回滚日志,记录数据修改前的版本,两个作用:事务回滚 + 实现 MVCC。版本链:每次修改都把旧版本写入 Undo Log,通过 roll_pointer 串成链表,读的时候顺着链找可见版本。两种类型:Insert...
mysql mvcc是什么?
MVCC 就是多版本并发控制,核心思路是:读不加锁,通过版本链实现读写互不阻塞。每行数据有隐藏字段 trx_id 和 roll_pointer,每次修改都把旧版本存到 undo log 形成版本链。读的时候通过 Read View...
Mysql什么是回表?怎么避免?
简答版本回表是指在使用非聚簇索引(二级索引)查询时,如果查询的列不被索引完全覆盖,就需要通过主键回到聚簇索引中查找整行数据,这会增加磁盘...
Mongodb mvcc是什么
MVCC = 多版本并发控制,MongoDB通过WiredTiger引擎内置实现。 核心:读写不互斥——写操作创建新版本,读操作读旧版本快照,互不阻塞。 背后机制:事务ID + 快照号决定"每个读者看到哪个版本"。...
mongodb 设置ttl什么意思
简答版本MongoDB的TTL就是"过期自动删除"机制,通过创建一个特殊索引来实现。你指定一个日期字段作为过期依据(比如 createdAt 或...
Mongodb occ是什么,原理是啥
简答版本MongoDB的OCC(乐观并发控制)本质上是一种"先假设不冲突、提交时再检查"的并发策略,用版本号字段来实现。读文档时记住版本号,更新时把版本号作为条件——只有版本号没变才能更新成功,同时让版本号自增1。如果返回匹配数为0,...
mongodb 集群怎么做,怎么做分布式
MongoDB...
mongodb配置文件介绍,如何调优
简答版本MongoDB 的配置文件 mongod.conf 用 YAML 格式,分七个模块:systemLog 管日志、storage 管存储引擎、processManagement 管进程、net 管网络、security...
mongodb 索引底层原理与优化策略
MongoDB 索引底层是 B-Tree 平衡多路搜索树,1000万数据树高仅34层,查一条34次IO,没索引要1000万次。查询三阶段:IXSCAN(翻索引目录)→ FETCH(回表读完整文档)→ SORT(内存排序)。最优是...
mongodb Bson是什么,介绍一下?
面试一口气版本BSON 是 MongoDB 的二进制编码 JSON,解决 JSON 三大缺陷:类型少(JSON 6种 → BSON 20+种)、解析慢(JSON 逐字符 → BSON 按长度跳转)、无类型标记(JSON...
Mongodb用户角色是什么,如何使用?
面试一口气版本MongoDB...
mongodb为什么用来存储大数据,查起来快?
MongoDB 查得快核心就一句话:嵌入式文档干掉...
Mongodb引擎介绍,有什么作用
MongoDB 默认引擎是 WiredTiger(3.2+),旧引擎 MMAPv1...
Mongodb如何备份数据
MongoDB备份四种方案:mongodump逻辑导出(最常用)、文件快照物理备份(生产首选)、直接拷文件冷备、云托管自动备份。mongodump核心参数:--gzip压缩、--archive打包、--oplog记录时间点、--que...