mysql - 用于存储可变长度字符串和二进制数据的最佳 MySql 数据类型

标签 mysql database performance database-performance

我有一个必须经常读取的数据表。我需要在其中存储可变长度的字符串和二进制数据。我可以将数据存储为 BLOBTEXT,但根据我理解 MySql 的方式,这些类型存储在硬盘驱动器而不是内存上,如果我使用它们,速度会降低阅读表格的次数会很低。

我可以使用任何替代的可变长度类型吗?或者,也许有没有办法告诉 MySql 将这些类型的数据保存在内存中?

最佳答案

这个“数据表”是存储字符串的唯一位置吗?如果是这样,您需要将其“持久”存储在磁盘上。然而,MySQL 会“缓存”数据,因此读取几乎总是从 RAM 中进行。

如果每个数据元素不是“太大”,您可以对表使用ENGINE=MEMORY;这只会将数据保留在 RAM 中。系统崩溃会丢失数据。

但是如果您不需要持久性,MySQL 之外有多种缓存方式。请描述数据来自哪里、使用什么语言、数据有多大等。

关于mysql - 用于存储可变长度字符串和二进制数据的最佳 MySql 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37897627/

相关文章:

php - 添加 ajax 自动保存后,与数据库错误的连接过多

objective-c - 从 iOS Objective-C 上传数据到网站

C# 和 Access 2000

c++ - 如果函数内联过于激进会怎样?

python - 如何有效地将运算符应用于两个数组的笛卡尔积?

php - 在不刷新页面的情况下刷新 mysql 驱动的下拉列表的内容

MySQL数据库错误: Packets larger than max_allowed_packet are not allowed when insert

php - 为什么在 PHP MySQL 中用 %40 替换 @

c# - 如何在软件安装期间生成数据库后端?

c - 使用 OpenMP 进行 LU 分解似乎很慢,需要建议