MySQL 8.0 参考手册  / 第8章优化  /  8.7 优化 MEMORY 表

8.7 优化 MEMORY 表

考虑MEMORY对经常访问、只读或很少更新的非关键数据使用表。在实际工作负载下将您的应用程序与等效 项InnoDBMyISAM表进行基准测试,以确认任何额外的性能都值得冒丢失数据的风险,或在应用程序启动时从基于磁盘的表复制数据的开销。

为了获得表的最佳性能MEMORY,请检查针对每个表的查询类型,并指定用于每个关联索引的类型,B 树索引或散列索引。在CREATE INDEX 语句中,使用子句USING BTREEor USING HASH>B 树索引对于通过or等​​运算符进行大于或小于比较的查询来说速度很快BETWEEN。哈希索引仅对于通过运算符查找单个值=或通过运算符查找一组受限值的查询来说速度很快IN。对于为什么 USING BTREE通常是比默认更好的选择USING HASH,请参阅 第 8.2.1.23 节,“避免全表扫描”. 有关不同类型MEMORY索引的实现细节,请参阅 第 8.3.9 节,“B 树和哈希索引的比较”