MySQL 8.3 Release Notes
考虑使用 MEMORY 表来存储非关键数据,该数据经常被访问,且是只读或很少更新的。在实际工作负载下,benchmark 应用程序与等效的 InnoDB 或 MyISAM 表,以确认任何额外的性能是否值得失去数据的风险,或者在应用程序启动时从基于磁盘的表复制数据的开销。
要获得最佳的 MEMORY 表性能,请检查每个表的查询类型,并指定每个关联索引的类型,或者是 B 树索引或哈希索引。在 CREATE INDEX 语句中,使用 USING BTREE 或 USING HASH 子句。B 树索引对于通过操作符 > 或 BETWEEN 进行大于或小于比较的查询非常快。哈希索引仅对通过 = 操作符或 IN 操作符查找单个值或受限值集的查询非常快。为什么 USING BTREE 通常比默认的 USING HASH 更好,见 第 10.2.1.23 节,“避免全表扫描”。对于不同类型的 MEMORY 索引的实现细节,见 第 10.3.9 节,“B 树和哈希索引的比较”。