经典题解析:主键用 int 还是 string,不只是存储大小问题
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(原题问「使用 int 做 primary key 和使用 string 有什么优劣」),与任何公司的当前招聘无关。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(原题问「使用 int 做 primary key 和使用 string 有什么优劣」),与任何公司的当前招聘无关。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。三范式是数据库理论的老面孔,但面试官真正想听的是后半句:什么时候该违反它。只会背定义的人,解释不了为什么真实业务库里宽表遍地都是。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。连接查询的种类是 SQL 面试的基本功题,靠背定义容易混,画两个圆就再也不会错。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。drop、delete、truncate 是数据库面试的保留节目,题面短,但一口气能问出语句分类、事务行为、日志开销和工程安全意识。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。题面只有一句话:MySQL 的存储引擎有哪几种,怎么选?
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「创建数据库索引应该怎么考虑」——这道题不问原理,问的是决策。很多人背得出 B+ 树结构,却在生产表上乱建索引:查询没快多少,写入先慢了一截。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「事务的 ACID 靠什么实现」是数据库面试的骨架题——undo log、redo log 两个词人人会背,但「崩溃的那一刻数据库做了什么」能把一半人问倒。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「SQL 优化从哪几处下手」配「最左前缀是什么意思」,是数据库面试的经典组合拳:前者考你有章法,后者考你真懂索引。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。「单表数据量太大怎么办」是数据库方向的架构题,面试官想听的不是背诵「分库分表」四个字,而是你清不清楚拆开的两种方向、以及拆开之后必然冒出来的新问题。
先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。「四种隔离级别」是数据库面试的必背题,但只背表格的人过不了追问——面试官真正想要的后半句是:InnoDB 的「可重复读」为什么能做到读写互不阻塞?这就必须讲 MVCC。