首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Blob存储在另一个表中,或使用mysql梭鱼。

将Blob存储在另一个表中,或使用mysql梭鱼。
EN

Stack Overflow用户
提问于 2017-09-14 16:30:46
回答 2查看 72关注 0票数 0

为了加快阅读过程,我考虑将blob从一个表转移到另一个表。但是,我看到堆栈溢出中的其他人建议使用MySQL梭鱼作为这种方法,消除了传递blob的需要。

我的数据库(由老程序员设计)

Visitor_visit (表名) ->包含5个blob列。想把水珠移到另一张桌子上。

那我该用哪种方法呢?我该怎么把桌子分开呢?是否需要为每个blob创建5个表以获得更好的性能?我并不是MYSQL所期望的那样。

我现在不喜欢把图像存储在磁盘上。(目前的情况不让我这样做)

EN

回答 2

Stack Overflow用户

发布于 2017-09-15 05:58:53

梭鱼不会像你想象的那样改变气泡的存储方式。如果blob与其他列的行相匹配,则blob将与这些列保持在一起。只有当blob大于页面上的大小时,才会将其存储在页外。

与Antelope相比,大blob也主要是在页外存储的,但是blob的前768字节将与其他列一起存储在主页上。所以我们只是在讨论blob的前3/4千字节存储方式的不同。

在这两种情况下,如果您根本不引用查询中的blob列(而且出于这个原因不应该使用SELECT * ),那么InnoDB就足够聪明,可以避免获取它不需要的额外blob页面。你不需要再做一张桌子来存储气泡。

票数 1
EN

Stack Overflow用户

发布于 2017-09-15 05:44:51

让我们看看表模式(SHOW CREATE TABLE),一些关于blobs大小的线索,等等。

通常,你不应该费心去做任何关于这5个小块的事情。一切都应该是自动的。

但是,总规模也有一些限制。同样,如果您遇到了一些错误信息,请提供更多的细节。

同时,我看不出做“垂直分割”的内在理由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46224221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档