后端岗位面试题更新 2026-08-05

一个数据库表有id和name两个字段,id为bigint,name为varchar且假设每次都用满最大容量。请问一行数据大概占多少空间?1千万条数据大概占用多大存储空间?若以id为主键索引,B+树高大概是多少?

拼多多集团-PDD后端开发电商问题拆解技术原理InnoDBMySQL

考察说明

考察MySQL行存储结构、varchar长度与空间估算、B+树高度计算

回答思路

  1. 能说明bigint占8字节、varchar按实际字符长度计算但最大容量需考虑字符集和变长开销
  2. 能估算单行空间并计算1kw行的数据量
  3. 能根据InnoDB页大小和索引键大小估算B+树高度
  4. 考虑行头、变长字段长度列表、溢出页等辅助开销