尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MySQL InnoDB TABLE 20 000 000 rows (2000W)

MySQL InnoDB TABLE 20 000 000 rows (2000W) 大家其实都是八股文只不过谁乐意了解多一点罢了 小学文化也可以一步一步手把手读懂的弄一次InnoDB默认引擎最小物理存储单元页Page 默认大小16KB可配置 4K/8K/16K 所有数据、索引、undo log 都以页为单位读写磁盘 页是磁盘 IO 最小单位MySQL 不会读写一行只会读写整页 一页内包含多条记录一条记录不能跨页存储溢出列除外如大文本用溢出页 假设1行需要 1 KB 1000 B 15 KB / 1 KB 15 rowsPAGE_SIZE (本例16 KB PAGE_USABLE_SIZE (本例15 KB ROW_SIZE (本例 1 KB ROWS_PER_PAGE PAGE_USABLE_SIZE / ROW_SIZE INDEX_SIZE 本例 12 KB) INDEXS_PER_PAGE PAGE_USABLE_SIZE / INDEX_SIZE Index Height 索引高度页就是层数 MAX_ROWS 最大储存行数 MAX_ROWS INDEXS_PER_PAGE ^ (Index Height - 1) * ROWS_PER_PAGE2 层 B 树深度 2 根是非叶子只有一层非叶子下一层直接是叶子 根页常驻缓冲池通常 正常只需要 1 次磁盘 IO读取叶子页 15 * 1280 192003 层 B 树深度 3 根节点 → 中间非叶子层 → 叶子节点 根页常驻缓冲池通常 正常只需要 1 次磁盘 IO中间非叶子层 正常只需要 1 次磁盘 IO读取叶子页 15 * 1280 * 1280 245760004层的时候 根页常驻缓冲池通常 正常只需要 1 次磁盘 IO中间非叶子层 正常只需要 1 次磁盘 IO中间非叶子层 正常只需要 1 次磁盘 IO读取叶子页 15 * 1280 * 1280 * 1280 MySQL数据库2000万单表怎么来得.xlsMySQL InnoDB TABLE 20 000 000 rows-CSDN博客
返回列表