相关疑难解决方法(0)

将TEXT/BLOB存储在同一个表中或不存在?

在搜索SO时,我发现了两个相互矛盾的答案(甚至是一条评论说明了这一点),但没有明确的答案:

问题是:如果在表外存储TEXT/BLOB字段,是否有任何性能优势?

我们猜测:

  • 你正确选择(如果需要,只选择TEXT/BLOB,不选择SELECT*)
  • 表格被正确编入索引,这是有意义的(所以这不是"如果你索引它"的问题)
  • 数据库设计并不重要.这是在这种特殊情况下识别MySQL行为的问题,而不是解决某些数据库设计问题.假设这个数据库只有一个表(如果TEXT/BLOB分开,则为两个表)
  • 二手引擎:innoDB(其他人也很有趣,如果他们取得不同的结果)

这篇文章指出,将TEXT/BLOB放入一个单独的表中,只有在你已经以错误的方式选择时才会有所帮助(即使没有必要也总是选择TEXT/BLOB) - 基本上说明了TEXT/BLOB中的TEXT/BLOB相同的表基本上是更好的解决方案(更少的复杂性,没有性能损失等),因为TEXT/BLOB无论如何都是单独存储的

将TEXT列移动到另一个表中的唯一时间将提供任何好处,如果通常从表中选择所有列的趋势.这只是引入第二种不良做法来弥补第一种不良做法.不言而喻,这两个错误与三个左翼不一样.

带有TEXT列的MySQL表


但是,这篇文章指出:

当表具有TEXT或BLOB列时,表无法存储在内存中

这是否意味着在表格中有一个TEXT/BLOB已经足够,以达到性能?

MySQL varchar(2000)vs text?


我的问题基本上是:答案是正确的?

如果你SELECT正确地将TEXT/BLOB存储到一个单独的表中,这真的很重要吗?

或者甚至在表格中有一个TEXT/BLOB,会产生潜在的性能影响?

mysql performance storage text blob

14
推荐指数
2
解决办法
4641
查看次数

带有TEXT列的MySQL表

我一直在研究数据库,我必须处理一个TEXT字段.

现在,我相信我已经看到一些地方提到最好将TEXT列与表的其余部分隔离开来(将它放在自己的表中).

但是,现在我无法在任何地方找到这个参考,因为它已经有一段时间了,我开始认为我可能误解了这些信息.

一些研究揭示了这一点,暗示了这一点

将文本/ blob与元数据分开,如果不需要,请不要将text/blob放在结果中.

但是,我不熟悉这里使用的"元数据"的定义.

所以我想知道将TEXT列放在自己的表中是否有任何相关的优点.与其他领域合作的潜在问题是什么?将它保存在分离表中的潜在问题?

应该相当频繁地搜索(选择)该表(没有TEXT字段)."过早优化被认为是邪恶的"在这里很重要吗?(如果在TEXT列中确实存在惩罚,那么它的相关程度如何,考虑到以后需要时更改它很容易).

此外,这个话题有什么好的联系吗?(也许stackoverflow问题和答案?我试图搜索这个主题,但我只发现了TEXT与VARCHAR的讨论)

mysql sql optimization text

6
推荐指数
2
解决办法
3884
查看次数

标签 统计

mysql ×2

text ×2

blob ×1

optimization ×1

performance ×1

sql ×1

storage ×1