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 树和哈希索引的比较”。