文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  优化  /  针对 MEMORY 表的优化

10.7 针对 MEMORY 表的优化

考虑将 MEMORY 表用于经常访问的非关键数据,并且这些数据是只读的或很少更新。在实际工作负载下,将您的应用程序与等效的 InnoDBMyISAM 表进行比较,以确认任何额外的性能是否值得数据丢失的风险,或在应用程序启动时将数据从基于磁盘的表复制到内存表所带来的开销。

为了使 MEMORY 表获得最佳性能,请检查针对每个表的查询类型,并为每个关联的索引指定要使用的类型,无论是 B-Tree 索引还是哈希索引。在 CREATE INDEX 语句中,使用 USING BTREEUSING HASH 子句。B-Tree 索引对于通过诸如 >BETWEEN 之类的运算符进行大于或小于比较的查询速度很快。哈希索引仅对于通过 = 运算符查找单个值,或通过 IN 运算符查找一组受限的值的查询速度很快。至于为什么 USING BTREE 通常比默认的 USING HASH 更好,请参阅 第 10.2.1.23 节,“避免全表扫描”。有关不同类型 MEMORY 索引的实现细节,请参阅 第 10.3.9 节,“B-Tree 索引和哈希索引的比较”