- 当存储包含文本数据的大blob时,请考虑首先对其进行压缩。当整个表由
InnoDB或压缩时,请勿使用此技术MyISAM。 - 对于具有多个列的表,为了减少不使用BLOB列的查询的内存需求,请考虑将BLOB列拆分为一个单独的表,并在需要时使用联接查询对其进行引用。
- 由于检索和显示BLOB值的性能要求可能与其他数据类型非常不同,因此可以将特定于BLOB的表放在不同的存储设备上,甚至放在单独的数据库实例上。例如,检索BLOB可能需要读取较大的顺序磁盘,这比传统的SSD更适合传统硬盘驱动 器。
- 有关为什么有时有时使用二进制列优于等效的BLOB列的原因,请参见第8.4.2.2节“优化字符和字符串类型”
VARCHAR。 - 您可以将列值的哈希存储在单独的列中,对该列进行索引并在查询中测试该哈希值,而不是针对非常长的文本字符串测试是否相等。(使用
MD5()或CRC32()函数生成哈希值。)由于哈希函数可以为不同的输入生成重复的结果,因此您仍然在查询中包括一个子句 以防止错误的匹配。性能优势来自于散列值较小,易于扫描的索引。AND *blob_column* = *long_string_value*
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




