我有一个必须经常读取的数据表。我需要在其中存储可变长度的字符串和二进制数据。我可以将数据存储为 BLOB
或 TEXT
,但根据我理解 MySql 的方式,这些类型存储在硬盘驱动器而不是内存上,如果我使用它们,速度会降低阅读表格的次数会很低。
我可以使用任何替代的可变长度类型吗?或者,也许有没有办法告诉 MySql 将这些类型的数据保存在内存中?
最佳答案
这个“数据表”是存储字符串的唯一位置吗?如果是这样,您需要将其“持久”存储在磁盘上。然而,MySQL 会“缓存”数据,因此读取几乎总是从 RAM 中进行。
如果每个数据元素不是“太大”,您可以对表使用ENGINE=MEMORY
;这只会将数据保留在 RAM 中。系统崩溃会丢失数据。
但是如果您不需要持久性,MySQL 之外有多种缓存方式。请描述数据来自哪里、使用什么语言、数据有多大等。
关于mysql - 用于存储可变长度字符串和二进制数据的最佳 MySql 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897627/